diff --git a/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po index 0623d2ac79..aaa554f47c 100644 --- a/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Language: ar_SA\n" @@ -89,6 +89,7 @@ msgstr "تعذّر تحويل {original} إلى {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "الكمية المقدمة غير صحيحة" @@ -270,7 +271,7 @@ msgstr "" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "" @@ -278,7 +279,7 @@ msgstr "" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +688,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "" @@ -711,8 +712,8 @@ msgid "Available" msgstr "" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "" @@ -731,7 +732,7 @@ msgstr "" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "" msgid "Location" msgstr "" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -921,7 +922,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "" @@ -983,7 +984,7 @@ msgstr "" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" @@ -1020,7 +1021,7 @@ msgstr "" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "" @@ -1412,29 +1413,29 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "" @@ -1617,7 +1618,7 @@ msgstr "" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1731,7 +1732,7 @@ msgstr "" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2094,7 +2095,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "" @@ -2868,7 +2869,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "" @@ -2876,7 +2877,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "" @@ -2888,7 +2889,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4323,7 +4324,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4355,7 +4356,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "" msgid "Part Categories" msgstr "" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5882,632 +5883,656 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index 47fea89024..ebc172555e 100644 --- a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -89,6 +89,7 @@ msgstr "Преобразуването на {original} в {unit} не беше #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Въведена е недопустима стойност" @@ -270,7 +271,7 @@ msgstr "" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "" @@ -278,7 +279,7 @@ msgstr "" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "Част" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +688,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "" @@ -711,8 +712,8 @@ msgid "Available" msgstr "" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "" @@ -731,7 +732,7 @@ msgstr "" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "" msgid "Location" msgstr "" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -921,7 +922,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "" @@ -983,7 +984,7 @@ msgstr "" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" @@ -1020,7 +1021,7 @@ msgstr "" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "" @@ -1412,29 +1413,29 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "" @@ -1617,7 +1618,7 @@ msgstr "" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1731,7 +1732,7 @@ msgstr "" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2094,7 +2095,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "" @@ -2868,7 +2869,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "" @@ -2876,7 +2877,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "" @@ -2888,7 +2889,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4323,7 +4324,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4355,7 +4356,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "" msgid "Part Categories" msgstr "" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5882,632 +5883,656 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Цялостна наличност" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index 89f792d6d9..3b8aa9db1b 100644 --- a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -89,6 +89,7 @@ msgstr "Nelze převést {original} na {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" @@ -270,7 +271,7 @@ msgstr "Neplatný výběr" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Název" @@ -278,7 +279,7 @@ msgstr "Název" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Server zaznamenal chybu." msgid "Image" msgstr "Obrazek" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Měna" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Vyberte měnu z dostupných možností" @@ -571,11 +572,11 @@ msgstr "Zahrnout varianty" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "Zahrnout varianty" msgid "Part" msgstr "Díl" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Kategorie" @@ -669,16 +670,16 @@ msgstr "Vyloučit strom" 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:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Spotřební materiál" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Volitelné" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Sestava" @@ -687,7 +688,7 @@ msgstr "Sestava" msgid "Tracked" msgstr "Sledováno" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Testovatelné" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Dostupné" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "Na objednávku" @@ -731,7 +732,7 @@ msgstr "Výrobní příkaz" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Výrobní příkaz" msgid "Location" msgstr "Lokace" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "Výstup" @@ -785,7 +786,7 @@ msgstr "Referenční číslo výrobního příkazu" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Dávkový kód pro tento výstup sestavení" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Datum vytvoření" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Uživatel, který vystavil tento výrobní příkaz" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Odpovědný" @@ -921,7 +922,7 @@ msgstr "Uživatel nebo skupina odpovědná za tento výrobní příkaz" msgid "External Link" msgstr "Externí odkaz" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Odkaz na externí URL" @@ -983,7 +984,7 @@ msgstr "Výstup neodpovídá výrobnímu příkazu" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" @@ -1020,7 +1021,7 @@ msgstr "Vytvořit objekt" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Cílová skladová položka" msgid "Build Level" msgstr "Úroveň sestavení" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Název dílu" @@ -1404,7 +1405,7 @@ msgstr "Reference sestavení" msgid "Part Category Name" msgstr "Název kategorie dílů" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Sledovatelné" @@ -1412,29 +1413,29 @@ msgstr "Sledovatelné" msgid "Inherited" msgstr "Zděděno" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Povolit varianty" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "Položka kusovníku" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "Ve výrobě" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "Naplánováno na sestavení" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Externí zásoby" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Dostupné zásoby" @@ -1617,7 +1618,7 @@ msgstr "Klíčový text musí být jedinečný" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Název tohoto webhooku" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktivní" @@ -1731,7 +1732,7 @@ msgstr "Název" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Odkaz" @@ -1962,7 +1963,7 @@ msgstr "Název výběrového pole" msgid "Description of the selection list" msgstr "Popis výběrového pole" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Uzamčeno" @@ -2058,7 +2059,7 @@ msgstr "Parametry zaškrtávacího pole nemohou mít jednotky" msgid "Checkbox parameters cannot have choices" msgstr "Parametry zaškrtávacího pole nemohou mít výběr" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "Volby musí být jedinečné" @@ -2074,7 +2075,7 @@ msgstr "Cílový typ modelu pro šablonu tohoto parametru" msgid "Parameter Name" msgstr "Název parametru" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Jednotky" @@ -2094,7 +2095,7 @@ msgstr "Zaškrtávací políčko" msgid "Is this parameter a checkbox?" msgstr "Je tento parametr zaškrtávací políčko?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Volby" @@ -2106,7 +2107,7 @@ msgstr "Platné volby pro tento parametr (oddělené čárkami)" msgid "Selection list for this parameter" msgstr "Seznam výběru pro tento parametr" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Povoleno" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "Hodnota parametru" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "Díly jsou ve výchozím nastavení šablony" msgid "Parts can be assembled from other components by default" msgstr "Díly lze ve výchozím nastavení sestavit z jiných komponentů" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Komponent" @@ -2868,7 +2869,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "Díly lze ve výchozím nastavení použít jako dílčí komponenty" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Možné zakoupit" @@ -2876,7 +2877,7 @@ msgstr "Možné zakoupit" msgid "Parts are purchaseable by default" msgstr "Díly jsou zakoupitelné ve výchozím nastavení" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Prodejné" @@ -2888,7 +2889,7 @@ msgstr "Díly jsou prodejné ve výchozím nastavení" msgid "Parts are trackable by default" msgstr "Díly jsou sledovatelné ve výchozím nastavení" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Nehmotné (virtuální)" @@ -4298,11 +4299,11 @@ msgstr "Adresa URL pro odkaz na externí díl dodavatele" msgid "Supplier part description" msgstr "Popis dílu dodavatele" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "základní cena" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimální poplatek (např. poplatek za skladování)" @@ -4323,7 +4324,7 @@ msgstr "Počet kusů v balení" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Celkové množství dodávané v jednom balení. Pro jednotlivé položky ponechte prázdné." -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "více" @@ -4355,7 +4356,7 @@ msgstr "Výchozí měna používaná pro tohoto dodavatele" msgid "Company Name" msgstr "Jméno společnosti" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "Skladem" @@ -4519,7 +4520,7 @@ msgstr "Původní data řádku" msgid "Errors" msgstr "Chyby" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Platné" @@ -5488,7 +5489,7 @@ msgstr "Sloučit položky se stejným dílem, místem určení a cílovým datem msgid "SKU" msgstr "Číslo zboží (SKU)" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Interní číslo dílu" @@ -5764,63 +5765,63 @@ msgstr "Je revizí" msgid "Has Revisions" msgstr "Má revize" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "Kusovník schválen" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "Kaskádové kategorie" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "Pokud je pravda, zahrne položky z podkategorií dané kategorie" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Filtrovat podle numerického ID kategorie nebo doslovného 'null'" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "Sestavený díl je aktivní" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "Sestavený díl je sledovatelný" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "Sestavený díl je testovatelný" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "Sestavený díl je uzamčen" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "Kompotenta je aktivní" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "Komponenta je sledovatelná" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "Díl komponenty je testovatelný" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "Komponenta je část sestavy" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "Komponenta je virtuální" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "Má dostupné zásoby" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "Využití" @@ -5833,7 +5834,7 @@ msgstr "Kategorie dílu" msgid "Part Categories" msgstr "Kategorie dílů" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Výchozí umístění" @@ -5882,632 +5883,656 @@ msgstr "Výchozí hodnota" msgid "Default Parameter Value" msgstr "Výchozí hodnota parametru" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Díly" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "Nelze odstranit parametry zamčeného dílu" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "Nelze upravit parametry zamčeného dílu" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "Tento díl nelze smazat, protože je uzamčen" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "Tento díl nelze odstanit, protože je stále aktivní" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "Tento díl nelze odstranit, protože je použit v sestavě" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Díl '{self}' nelze použít v kusovníku '{parent}' (rekurzivní)" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Díl '{parent}' je využit v kusovníku '{self}' (rekurzivní)" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN musí odpovídat regex vzoru {pattern}" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "Díl nemůže být revize same sebe" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "Kód revize musí být specifikován pro díl označený jako revize" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "Revize jsou povoleny pouze pro sestavy" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "Nelze provést revizi šablony" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "Nadřazený díl musí odkazovat na stejnou šablonu" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "Skladová položka s tímto sériovým číslem již existuje" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplicitní IPN není povoleno v nastavení dílu" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "Duplicitní díl revize již existuje." -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "Díl s tímto názvem, IPN a revizí již existuje." -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "Díly nemohou být přiřazeny do strukturálních kategorií!" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Název dílu" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Je šablonou" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "Je tento díl šablona?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "Je tento díl varianta jiného dílu?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Varianta" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Popis dílu (nepovinné)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Klíčová slova" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "Klíčová slova dílu pro zlepšení vyhledávání" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Kategorie dílu" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "Interní číslo dílu (IPN)" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "Číslo revize nebo verze dílu" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Revize" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "Je tento díl revizí jiného dílu?" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "Revize" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "Kde je tato položka obvykle skladněna?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Výchozí expirace" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "Expirační čas (ve dnech) pro zásoby tohoto dílu" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Minimální zásoby na skladě" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "Minimální povolená úroveň zásob" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Měrné jednotky pro tento díl" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "Lze tento díl sestavit z jiných dílů?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "Lze tento díl použít k sestavení jiných dílů?" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "Lze u tohoto dílu sledovat jednotlivé položky?" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "Může mít tento díl zaznamenány výsledky testu?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "Může být tento díl zakoupen od externích dodavatelů?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "Lze tento díl prodávat zákazníkům?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "Je tento díl aktivní?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "Uzamčené díly nelze upravit" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "Je to virtuální díl, například softwarový produkt nebo licence?" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "Kusovník ověřen" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "Je kusovník pro tuto část platný?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "Kontrolní součet kusovníku" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "Uložený kontrolní součet kusovníku" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "Kusovník zkontroloval" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "Datum kontroly kusovníku" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Vytváření uživatele" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "Vlastník odpovědný za tento díl" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Prodat více" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "Měna použitá pro výpočet cen v mezipaměti" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "Minimální cena kusovníku" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "Minimální cena komponent dílu" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "Maximální cena kusovníku" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "Maximální cena komponent dílu" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "Minimální nákupní cena" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "Minimální historická nákupní cena" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "Maximální nákupní cena" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "Maximální historická nákupní cena" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "Minimální interní cena" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "Minimální cena závislá na množstevní slevě" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "Maximální interní cena" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "Maximální cena závislá na množstevní slevě" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "Minimální cena dodavatele" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "Minimální cena dílu od externích dodavatelů" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "Maximální cena dodavatele" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "Maximální cena dílu od externích dodavatelů" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "Minimální cena variant" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "Vypočítané minimální náklady na varianty dílů" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "Maximální cena variant" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "Vypočítané maximální náklady na varianty dílů" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "Minimální cena" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "Přepsat minimální náklady" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "Maximální cena" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "Přepsat maximální náklady" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "Vypočítané minimální celkové náklady" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "Vypočítané maximální celkové náklady" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "Minimální prodejní cena" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "Minimální prodejní cena na základě cenových zvýhodnění" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "Maximální prodejní cena" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "Maximální prodejní cena na základě cenových zvýhodnění" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "Minimální prodejní cena" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "Minimální historická prodejní cena" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "Maximální prodejní cena" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "Maximální historická prodejní cena" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "Díl na inventuru" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "Počet položek" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "Počet jednotlivých položek zásob v době inventury" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "Celkové dostupné zásoby v době inventury" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Datum" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "Datum provedení inventury" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "Minimální cena zásob" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "Odhadovaná minimální cena zásob k dispozici" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "Maximální cena zásob" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "Odhadovaná maximální cena zásob k dispozici" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "Částeční sleva v ceně" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "Šablona testu položky" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Neplatný název šablony - musí obsahovat alespoň jeden alfanumerický znak" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "Zkušební šablony lze vytvořit pouze pro testovatelné části" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "Testovací šablona se stejným klíčem již existuje pro díl" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Název testu" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "Zadejte název testu" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "Testovací klíč" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "Zjednodušený klíč pro testování" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Popis testu" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Zadejte popis pro tento test" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "Je tento test povolen?" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Požadováno" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "Je tato zkouška vyžadována k projití?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Požadovaná hodnota" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "Vyžaduje tato zkouška hodnotu při výpočtu výsledku zkoušky?" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Vyžaduje přílohu" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "Vyžaduje tato zkouška soubor při přidání výsledku testu?" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "Platné volby pro tento test (oddělené čárkami)" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "Množství musí být větší nebo rovno nule" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "Položku kusovníku nelze změnit - sestava je uzamčena" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "Položku kusovníku nelze změnit - varianta montáže je uzamčena" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Vyberte nadřazený díl" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Poddílec" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "Vyberte díl které bude použit v kusovníku" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Kusovníkové množství pro tuto kusovníkovou položku" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Tato položka kusovníku je nepovinná" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Tento předmět kusovníku je spotřebovatelný (není sledován v objednávkách stavby)" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "Nastavit množství" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "Dodatečné množství potřebné pro sestavení k vyúčtování ztráty nastavení" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "Přirozené ztráty" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Odhadované přirozené ztráty pro stavbu, vyjádřeno v procentech (0-100)" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "Zaokrouhlení více" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "Zaokrouhlit požadované množství produkce na nejbližší násobek této hodnoty" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "Reference položky kusovníku" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "Poznámky k položce kusovníku" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Kontrolní součet" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "Kontrolní součet řádku kusovníku" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Schváleno" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "Tato položka kusovníku ještě nebyla schválena" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "Se zdědí" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Tento kusovník se zdědí kusovníky pro varianty dílů" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Skladové položky pro varianty dílu lze použít pro tuto položku kusovníku" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "Množství musí být celé číslo pro sledovatelné díly" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "Poddíl musí být specifikován" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "Náhradní položka kusovníku" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "Náhradní díl nemůže být stejný jako hlavní díl" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "Nadřazená položka kusovníku" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Náhradní díl" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Díl 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Díl 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "Vyberte související díl" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "Poznámka pro tento vztah" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "Část vztahu nemůže být vytvořena mezi dílem samotným" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "Duplicitní vztah již existuje" @@ -6627,239 +6652,243 @@ msgstr "Výrobce dílu se stejným MPN již existuje" msgid "Supplier part matching this SKU already exists" msgstr "Dodavatelský díl s tímto SKU již existuje" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Název kategorie" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "Budova" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "Množství tohoto dílu, které je v současné době ve výrobě" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Zbývající množství tohoto dílu, které má být postaveno" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Skladové položky" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "Revize" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Celkem skladem" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "Nezařazené zásoby" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "Skladové varianty" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Duplikovat díl" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "Kopírovat počáteční data z jiného dílu" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Počáteční zásoby" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "Vytvořit díl s počátečním množstvím zásob" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Informace o dodavateli" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "Přidat počáteční informace dodavatele pro tento díl" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "Kopírovat parametry kategorie" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "Kopírovat šablony parametrů z vybrané kategorie dilu" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Stávající obrázek" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "Název souboru existujícího obrázku dílu" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "Obrázek neexistuje" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "Schválit celý kusovník" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "Lze postavit" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "Vyžadováno pro výrobní objednávku" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "Přířazeno výrobním objednávkám" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "Vyžadováno pro prodejní objednávky" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "Přiřazeno prodejním objednávkám" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "IPN dílu" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "Popis dílu" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "Vyberte díl u kterého chce vytvořit informace inventury (i pro jeho varianty)" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "Vyberte kategorii pro obsažení všech dílů v dané kategorii (a podkategoriích)" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "Vyberte lokaci pro obsažení všech dílů se zásobami na dané lokaci (včetně pod-lokací)" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "Generovat vstupy inventury" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "Uložit vstupy inventury pro vybrané díly" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "Generovat report" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "Generovat report inventury pro vybrané díly" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Minimální cena" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "Přespat vypočítanou hodnotu pro minimální cenu" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "Měna minimální ceny" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Maximální cena" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "Přespat vypočítanou hodnotu pro maximální cenu" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "Měna maximální ceny" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Aktualizovat" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "Aktualizovat cenu pro díl" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Nelze převést z poskytnutých měn na {default_currency}" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "Minimální cena musí být vyšší než maximální cena" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "Maximální cena nesmí být nížší než minimální cena" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" -msgstr "Množství musí být větší nebo rovno nule" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" +msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "Vybrat nadřazenou sestavu" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "Vyberte komponentu dílu" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "Vyberte díl pro kopírování kusovníku z" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "Odstranit existující data" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "Odstranit existující položky kusovníku před kopírováním" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "Zahrnout zděděné" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "Zahrnout položky kusovníku které jsou zdědené z šablonových dílů" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Přeskočit neplatné řádky" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Povolte tuto možnost pro přeskočení neplatných řádků" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "Kopírovat náhradní díly" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopírovat náhradní díly při duplikaci položek kusovníku" diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index d3fb666e3b..7e47ddb19d 100644 --- a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -89,6 +89,7 @@ msgstr "Kunne ikke konvertere {original} til {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Ugyldigt antal angivet" @@ -270,7 +271,7 @@ msgstr "Ugyldigt valg" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Navn" @@ -278,7 +279,7 @@ msgstr "Navn" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "En fejl blev logget af serveren." msgid "Image" msgstr "Billede" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Vælg valuta fra tilgængelige muligheder" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Kategori" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Forbrugsvare" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Valgfri" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +688,7 @@ msgstr "" msgid "Tracked" msgstr "Sporet" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Tilgængelig" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "" @@ -731,7 +732,7 @@ msgstr "Produktionsordre" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Produktionsordre" msgid "Location" msgstr "Lokation" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "Produktionsordre reference" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Oprettelsesdato" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Ansvarlig" @@ -921,7 +922,7 @@ msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" msgid "External Link" msgstr "Ekstern link" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Link til ekstern URL" @@ -983,7 +984,7 @@ msgstr "" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" @@ -1020,7 +1021,7 @@ msgstr "" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Del Navn" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "" @@ -1412,29 +1413,29 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "Stykliste Del" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "I Produktion" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Ekstern Lager" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Tilgængelig Lager" @@ -1617,7 +1618,7 @@ msgstr "Nøglestrengen skal være unik" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktiv" @@ -1731,7 +1732,7 @@ msgstr "Titel" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Tilknytning" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Låst" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2094,7 +2095,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "" @@ -2868,7 +2869,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "" @@ -2876,7 +2877,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "" @@ -2888,7 +2889,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4323,7 +4324,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4355,7 +4356,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "" msgid "Part Categories" msgstr "" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5882,632 +5883,656 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index cf08d04e24..ba98dc3248 100644 --- a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -89,6 +89,7 @@ msgstr "Konnte {original} nicht in {unit} umwandeln" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" @@ -270,7 +271,7 @@ msgstr "Ungültige Auswahl" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Name" @@ -278,7 +279,7 @@ msgstr "Name" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Ein Fehler wurde vom Server protokolliert." msgid "Image" msgstr "Bild" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Währung" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Währung aus verfügbaren Optionen auswählen" @@ -571,11 +572,11 @@ msgstr "Varianten einschließen" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "Varianten einschließen" msgid "Part" msgstr "Teil" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Kategorie" @@ -669,16 +670,16 @@ msgstr "Baum ausschließen" msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Optional" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Baugruppe" @@ -687,7 +688,7 @@ msgstr "Baugruppe" msgid "Tracked" msgstr "Nachverfolgt" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Prüfbar" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Verfügbar" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "Bestellt" @@ -731,7 +732,7 @@ msgstr "Bauauftrag" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Bauauftrag" msgid "Location" msgstr "Lagerort" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "Bauprodukt" @@ -785,7 +786,7 @@ msgstr "Bauauftragsreferenz" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Erstelldatum" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Verantwortlicher Benutzer" @@ -921,7 +922,7 @@ msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" msgid "External Link" msgstr "Externer Link" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -983,7 +984,7 @@ msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -1020,7 +1021,7 @@ msgstr "Objekt bauen" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Ziel-Lagerartikel" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Name des Teils" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "Teilkategorienname" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Nachverfolgbar" @@ -1412,29 +1413,29 @@ msgstr "Nachverfolgbar" msgid "Inherited" msgstr "Vererbt" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Varianten zulassen" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "Stücklisten-Position" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "In Produktion" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "Geplant zum Erstellen" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Externes Lager" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Verfügbarer Bestand" @@ -1617,7 +1618,7 @@ msgstr "Schlüsseltext muss eindeutig sein" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Name für diesen Webhook" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktiv" @@ -1731,7 +1732,7 @@ msgstr "Titel" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" @@ -1962,7 +1963,7 @@ msgstr "Name der Auswahlliste" msgid "Description of the selection list" msgstr "Beschreibung der Auswahlliste" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Gesperrt" @@ -2058,7 +2059,7 @@ msgstr "Checkbox-Parameter können keine Einheiten haben" msgid "Checkbox parameters cannot have choices" msgstr "Checkbox-Parameter können keine Auswahl haben" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "Auswahl muss einzigartig sein" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "Name des Parameters" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Einheiten" @@ -2094,7 +2095,7 @@ msgstr "Checkbox" msgid "Is this parameter a checkbox?" msgstr "Ist dieser Parameter eine Checkbox?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Auswahlmöglichkeiten" @@ -2106,7 +2107,7 @@ msgstr "Gültige Optionen für diesen Parameter (durch Kommas getrennt)" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Aktiviert" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "Parameter Wert" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "Teile sind standardmäßig Vorlagen" msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Komponente" @@ -2868,7 +2869,7 @@ msgstr "Komponente" msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Kaufbar" @@ -2876,7 +2877,7 @@ msgstr "Kaufbar" msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Verkäuflich" @@ -2888,7 +2889,7 @@ msgstr "Artikel sind grundsätzlich verkaufbar" msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Virtuell" @@ -4298,11 +4299,11 @@ msgstr "Teil-URL des Zulieferers" msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" @@ -4323,7 +4324,7 @@ msgstr "Packmenge" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Gesamtmenge, die in einer einzelnen Packung geliefert wird. Für Einzelstücke leer lassen." -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "Vielfache" @@ -4355,7 +4356,7 @@ msgstr "Standard-Währung für diesen Zulieferer" msgid "Company Name" msgstr "Firmenname" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "Auf Lager" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "Fehler" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Gültig" @@ -5488,7 +5489,7 @@ msgstr "Zusammenführen von Elementen mit dem gleichen Teil, Ziel- und Zieldatum msgid "SKU" msgstr "Lieferanten-Teilenummer" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Interne Teilenummer" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "Verwendet" @@ -5833,7 +5834,7 @@ msgstr "Teil-Kategorie" msgid "Part Categories" msgstr "Teil-Kategorien" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Standard-Lagerort" @@ -5882,632 +5883,656 @@ msgstr "Standard-Wert" msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Teile" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "Dieses Teil kann nicht gelöscht werden, da es noch aktiv ist" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "Dieses Teil kann nicht gelöscht werden, da es in einem Bauauftrag verwendet wird" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Teil '{self}' kann in der Stückliste nicht für '{parent}' (rekursiv) verwendet werden" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Teil '{parent}' wird in der Stückliste für '{self}' (rekursiv) verwendet" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN muss mit Regex-Muster {pattern} übereinstimmen" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Variante von" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Artikelbeschreibung (optional)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Schlüsselwörter" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Version" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "Revision von" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Minimaler Bestand" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Maßeinheit für diesen Teil" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 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:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "Verantwortlicher Besitzer für dieses Teil" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "Mindestkosten überschreiben" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "Maximale Kosten" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "Maximale Kosten überschreiben" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Datum" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Ungültiger Vorlagenname - es muss mindestens ein alphanumerisches Zeichen enthalten sein" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "Testvorlage mit demselben Schlüssel existiert bereits für Teil" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "Testschlüssel" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "Vereinfachter Schlüssel zum Test" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "Ist dieser Test aktiviert?" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Benötigt" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3750 +#: part/models.py:3760 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:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3757 +#: part/models.py:3767 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:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "Gültige Optionen für diesen Test (durch Komma getrennt)" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:4012 +#: part/models.py:4082 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:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "überprüft" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:4079 +#: part/models.py:4149 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:4085 +#: part/models.py:4155 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:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 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:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" @@ -6627,239 +6652,243 @@ msgstr "Herstellerteil mit dieser MPN existiert bereits" msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Kategoriename" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "Im Bau" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Lagerartikel" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Gesamtbestand" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "Nicht zugewiesenes Lager" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "Alternatives Lager" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Vorhandenes Bild" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "Dateiname eines vorhandenen Teilbildes" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "Bilddatei existiert nicht" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "Herstellbar" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Niedrigster Preis" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "Berechneten Wert für Mindestpreis überschreiben" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "Mindestpreis Währung" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Höchster Preis" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "Berechneten Wert für maximalen Preis überschreiben" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "Maximalpreis Währung" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, 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:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "Mindestpreis darf nicht größer als der Maximalpreis sein" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "Der Maximalpreis darf nicht kleiner als der Mindestpreis sein" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index e314006550..cb2529fe5f 100644 --- a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -89,6 +89,7 @@ msgstr "Δεν ήταν δυνατή η μετατροπή από {original} σ #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Μη έγκυρη ποσότητα" @@ -270,7 +271,7 @@ msgstr "Μη έγκυρη επιλογή" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Όνομα" @@ -278,7 +279,7 @@ msgstr "Όνομα" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Ένα σφάλμα έχει καταγραφεί από το διακο msgid "Image" msgstr "Εικόνα" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Νόμισμα" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Επιλέξτε νόμισμα από τις διαθέσιμες επιλογές" @@ -571,11 +572,11 @@ msgstr "Συμπερίληψη παραλλαγών" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "Συμπερίληψη παραλλαγών" msgid "Part" msgstr "Εξάρτημα" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Κατηγορία" @@ -669,16 +670,16 @@ msgstr "Εξαίρεση δέντρου" msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Αναλώσιμο" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Προαιρετικό" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Συναρμολόγηση" @@ -687,7 +688,7 @@ msgstr "Συναρμολόγηση" msgid "Tracked" msgstr "Υπό παρακολούθηση" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Υπό δοκιμή" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Διαθέσιμο" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "Σε παραγγελία" @@ -731,7 +732,7 @@ msgstr "Σειρά Κατασκευής" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Σειρά Κατασκευής" msgid "Location" msgstr "Τοποθεσία" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "Έξοδος" @@ -785,7 +786,7 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Ημερομηνία Δημιουργίας" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Υπεύθυνος" @@ -921,7 +922,7 @@ msgstr "Χρήστης ή ομάδα υπεύθυνη για αυτή την ε msgid "External Link" msgstr "Εξωτερικοί σύνδεσμοι" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" @@ -983,7 +984,7 @@ msgstr "Η έξοδος κατασκευής δεν ταιριάζει με τη #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -1020,7 +1021,7 @@ msgstr "Αντικείμενο κατασκευής" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Αποθήκη προορισμού" msgid "Build Level" msgstr "Επίπεδο κατασκευής" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Όνομα Προϊόντος" @@ -1404,7 +1405,7 @@ msgstr "Αναφορά κατασκευής" msgid "Part Category Name" msgstr "Όνομα κατηγορίας Προϊόντος" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Ανιχνεύσιμο" @@ -1412,29 +1413,29 @@ msgstr "Ανιχνεύσιμο" msgid "Inherited" msgstr "Κληρονομημένο" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Να επιτρέπονται παραλλαγές" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "Στοιχείο BOM" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "Σε παραγωγή" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "Προγραμματισμένο για κατασκευή" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Εξωτερικό απόθεμα" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Διαθέσιμο απόθεμα" @@ -1617,7 +1618,7 @@ msgstr "Η συμβολοσειρά κλειδιού πρέπει να είνα #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Όνομα για αυτό το webhook" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Ενεργό" @@ -1731,7 +1732,7 @@ msgstr "Τίτλος" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Σύνδεσμος" @@ -1962,7 +1963,7 @@ msgstr "Όνομα της λίστας επιλογών" msgid "Description of the selection list" msgstr "Περιγραφή της λίστας επιλογών" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Κλειδωμένο" @@ -2058,7 +2059,7 @@ msgstr "Οι παράμετροι τύπου checkbox δεν μπορούν να msgid "Checkbox parameters cannot have choices" msgstr "Οι παράμετροι τύπου checkbox δεν μπορούν να έχουν επιλογές" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "Οι επιλογές πρέπει να είναι μοναδικές" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "Όνομα παραμέτρου" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Μονάδες" @@ -2094,7 +2095,7 @@ msgstr "Checkbox" msgid "Is this parameter a checkbox?" msgstr "Είναι αυτή η παράμετρος τύπου checkbox;" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Επιλογές" @@ -2106,7 +2107,7 @@ msgstr "Έγκυρες επιλογές για αυτή την παράμετρ msgid "Selection list for this parameter" msgstr "Λίστα επιλογών για αυτή την παράμετρο" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Ενεργό" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "Τιμή παραμέτρου" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "Τα Προϊόντα είναι πρότυπα από προεπιλο msgid "Parts can be assembled from other components by default" msgstr "Τα Προϊόντα μπορούν να συναρμολογούνται από άλλα συστατικά από προεπιλογή" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Συστατικό" @@ -2868,7 +2869,7 @@ msgstr "Συστατικό" msgid "Parts can be used as sub-components by default" msgstr "Τα Προϊόντα μπορούν να χρησιμοποιούνται ως υποσυστατικά από προεπιλογή" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Αγοράσιμο" @@ -2876,7 +2877,7 @@ msgstr "Αγοράσιμο" msgid "Parts are purchaseable by default" msgstr "Τα Προϊόντα είναι αγοράσιμα από προεπιλογή" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Πωλήσιμο" @@ -2888,7 +2889,7 @@ msgstr "Τα Προϊόντα είναι πωλήσιμα από προεπιλ msgid "Parts are trackable by default" msgstr "Τα Προϊόντα είναι ανιχνεύσιμα από προεπιλογή" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Εικονικό" @@ -4298,11 +4299,11 @@ msgstr "URL εξωτερικού συνδέσμου προϊόντος προμ msgid "Supplier part description" msgstr "Περιγραφή προϊόντος προμηθευτή" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "βασικό κόστος" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Ελάχιστη χρέωση (π.χ. χρέωση αποθήκευσης)" @@ -4323,7 +4324,7 @@ msgstr "Ποσότητα ανά συσκευασία" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Συνολική ποσότητα που παρέχεται σε μία συσκευασία. Αφήστε κενό για μεμονωμένα είδη." -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "πολλαπλάσιο" @@ -4355,7 +4356,7 @@ msgstr "Προεπιλεγμένο νόμισμα που χρησιμοποιε msgid "Company Name" msgstr "Όνομα εταιρείας" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "Σε απόθεμα" @@ -4519,7 +4520,7 @@ msgstr "Αρχικά δεδομένα γραμμής" msgid "Errors" msgstr "Σφάλματα" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Έγκυρο" @@ -5488,7 +5489,7 @@ msgstr "Συγχώνευση ειδών με το ίδιο προϊόν, προ msgid "SKU" msgstr "SKU" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Εσωτερικός κωδικός προϊόντος" @@ -5764,63 +5765,63 @@ msgstr "Είναι αναθεώρηση" msgid "Has Revisions" msgstr "Έχει αναθεωρήσεις" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "Έγκυρο BOM" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "Κατηγορίες κατά κληρονομικότητα" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "Αν είναι αληθές, συμπεριλαμβάνονται είδη σε θυγατρικές κατηγορίες της δοσμένης κατηγορίας" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Φιλτράρισμα κατά αριθμητικό ID κατηγορίας ή τη λέξη 'null'" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "Το προϊόν συναρμολόγησης είναι υπό δοκιμή" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "Το προϊόν Προϊόντος είναι υπό δοκιμή" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "Χρήσεις" @@ -5833,7 +5834,7 @@ msgstr "Κατηγορία προϊόντος" msgid "Part Categories" msgstr "Κατηγορίες προϊόντων" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Προεπιλεγμένη τοποθεσία" @@ -5882,632 +5883,656 @@ msgstr "Προεπιλεγμένη τιμή" msgid "Default Parameter Value" msgstr "Προεπιλεγμένη τιμή παραμέτρου" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Προϊόντα" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "Δεν είναι δυνατή η διαγραφή αυτού του προϊόντος επειδή είναι κλειδωμένο" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "Δεν είναι δυνατή η διαγραφή αυτού του προϊόντος επειδή είναι ακόμη ενεργό" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "Δεν είναι δυνατή η διαγραφή αυτού του προϊόντος επειδή χρησιμοποιείται σε συναρμολόγηση" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Το προϊόν '{self}' δεν μπορεί να χρησιμοποιηθεί στο BOM για '{parent}' (αναδρομικά)" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Το προϊόν '{parent}' χρησιμοποιείται στο BOM για '{self}' (αναδρομικά)" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "Το IPN πρέπει να ταιριάζει με το πρότυπο regex {pattern}" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "Το προϊόν δεν μπορεί να είναι αναθεώρηση του εαυτού του" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "Οι αναθεωρήσεις επιτρέπονται μόνο για προϊόντα συναρμολόγησης" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "Δεν μπορεί να γίνει αναθεώρηση προϊόντος προτύπου" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "Το γονικό προϊόν πρέπει να αντιστοιχεί στο ίδιο πρότυπο" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "Υπάρχει ήδη είδος αποθέματος με αυτόν τον σειριακό αριθμό" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "Δεν επιτρέπεται διπλό IPN στις ρυθμίσεις προϊόντος" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "Υπάρχει ήδη διπλή αναθεώρηση προϊόντος." -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "Υπάρχει ήδη προϊόν με αυτό το όνομα, IPN και αναθεώρηση." -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "Τα προϊόντα δεν μπορούν να αντιστοιχιστούν σε δομικές κατηγορίες προϊόντων!" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Όνομα προϊόντος" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Είναι πρότυπο" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "Είναι αυτό το προϊόν προϊόν προτύπου;" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "Είναι αυτό το προϊόν παραλλαγή άλλου προϊόντος;" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Παραλλαγή του" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Περιγραφή προϊόντος (προαιρετικά)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Λέξεις-κλειδιά" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "Λέξεις-κλειδιά προϊόντος για βελτίωση της ορατότητας στα αποτελέσματα αναζήτησης" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Κατηγορία προϊόντος" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "Αριθμός αναθεώρησης ή έκδοσης προϊόντος" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Αναθεώρηση" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "Είναι αυτό το προϊόν αναθεώρηση άλλου προϊόντος;" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "Αναθεώρηση του" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "Πού αποθηκεύεται συνήθως αυτό το είδος;" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Προεπιλεγμένη λήξη" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "Χρόνος λήξης (σε ημέρες) για είδη αποθέματος αυτού του προϊόντος" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Ελάχιστο απόθεμα" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "Ελάχιστο επιτρεπτό επίπεδο αποθέματος" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Μονάδες μέτρησης για αυτό το προϊόν" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "Μπορεί αυτό το προϊόν να κατασκευαστεί από άλλα προϊόντα;" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "Μπορεί αυτό το προϊόν να χρησιμοποιηθεί για την κατασκευή άλλων προϊόντων;" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "Έχει αυτό το προϊόν ιχνηλάτηση για μοναδικά είδη;" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "Μπορούν να καταχωρηθούν αποτελέσματα δοκιμών για αυτό το προϊόν;" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "Μπορεί αυτό το προϊόν να αγοραστεί από εξωτερικούς προμηθευτές;" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "Μπορεί αυτό το προϊόν να πωληθεί σε πελάτες;" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "Είναι αυτό το προϊόν ενεργό;" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "Κλειδωμένα προϊόντα δεν μπορούν να τροποποιηθούν" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "Είναι αυτό ένα εικονικό προϊόν, όπως προϊόν λογισμικού ή άδεια;" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "Το BOM έχει επικυρωθεί" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "Είναι το BOM για αυτό το προϊόν έγκυρο;" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "Άθροισμα ελέγχου BOM" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "Αποθηκευμένο άθροισμα ελέγχου BOM" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "Έλεγχος BOM από" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "Ημερομηνία ελέγχου BOM" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Χρήστης δημιουργίας" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "Ιδιοκτήτης υπεύθυνος για αυτό το προϊόν" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Πώληση πολλαπλάσιων" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "Νόμισμα που χρησιμοποιείται για την προσωρινή αποθήκευση υπολογισμών τιμολόγησης" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "Ελάχιστο κόστος BOM" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "Ελάχιστο κόστος προϊόντων Προϊόντων" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "Μέγιστο κόστος BOM" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "Μέγιστο κόστος προϊόντων Προϊόντων" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "Ελάχιστο κόστος αγοράς" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "Ελάχιστο ιστορικό κόστος αγοράς" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "Μέγιστο κόστος αγοράς" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "Μέγιστο ιστορικό κόστος αγοράς" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "Ελάχιστη εσωτερική τιμή" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "Ελάχιστο κόστος βάσει εσωτερικών κλιμακωτών τιμών" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "Μέγιστη εσωτερική τιμή" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "Μέγιστο κόστος βάσει εσωτερικών κλιμακωτών τιμών" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "Ελάχιστη τιμή προμηθευτή" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "Ελάχιστη τιμή προϊόντος από εξωτερικούς προμηθευτές" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "Μέγιστη τιμή προμηθευτή" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "Μέγιστη τιμή προϊόντος από εξωτερικούς προμηθευτές" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "Ελάχιστο κόστος παραλλαγής" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "Υπολογισμένο ελάχιστο κόστος προϊόντων παραλλαγών" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "Μέγιστο κόστος παραλλαγής" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "Υπολογισμένο μέγιστο κόστος προϊόντων παραλλαγών" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "Ελάχιστο κόστος" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "Παράκαμψη ελάχιστου κόστους" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "Μέγιστο κόστος" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "Παράκαμψη μέγιστου κόστους" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "Υπολογισμένο συνολικό ελάχιστο κόστος" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "Υπολογισμένο συνολικό μέγιστο κόστος" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "Ελάχιστη τιμή πώλησης" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "Ελάχιστη τιμή πώλησης βάσει κλιμακωτών τιμών" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "Μέγιστη τιμή πώλησης" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "Μέγιστη τιμή πώλησης βάσει κλιμακωτών τιμών" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "Ελάχιστο κόστος πώλησης" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "Ελάχιστη ιστορική τιμή πώλησης" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "Μέγιστο κόστος πώλησης" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "Μέγιστη ιστορική τιμή πώλησης" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "Προϊόν για απογραφή" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "Αριθμός ειδών" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "Αριθμός μεμονωμένων εγγραφών αποθέματος κατά τον χρόνο απογραφής" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "Συνολικό διαθέσιμο απόθεμα κατά τον χρόνο απογραφής" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Ημερομηνία" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "Ημερομηνία που πραγματοποιήθηκε η απογραφή" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "Ελάχιστο κόστος αποθέματος" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "Εκτιμώμενο ελάχιστο κόστος αποθέματος σε διαθεσιμότητα" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "Μέγιστο κόστος αποθέματος" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "Εκτιμώμενο μέγιστο κόστος αποθέματος σε διαθεσιμότητα" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "Κλιμακωτή τιμή πώλησης προϊόντος" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "Πρότυπο δοκιμής προϊόντος" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Μη έγκυρο όνομα προτύπου - πρέπει να περιλαμβάνει τουλάχιστον έναν αλφαριθμητικό χαρακτήρα" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "Πρότυπα δοκιμών μπορούν να δημιουργηθούν μόνο για προϊόντα που είναι υπό δοκιμή" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "Υπάρχει ήδη πρότυπο δοκιμής με το ίδιο κλειδί για το προϊόν" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Όνομα δοκιμής" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "Εισαγάγετε όνομα για τη δοκιμή" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "Κλειδί δοκιμής" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "Απλοποιημένο κλειδί για τη δοκιμή" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Περιγραφή δοκιμής" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Εισαγάγετε περιγραφή για αυτή τη δοκιμή" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "Είναι αυτή η δοκιμή ενεργή;" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Απαραίτητη" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "Απαιτείται η επιτυχής ολοκλήρωση αυτής της δοκιμής;" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Απαιτεί τιμή" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "Απαιτεί αυτή η δοκιμή τιμή κατά την προσθήκη αποτελέσματος δοκιμής;" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Απαιτεί συνημμένο" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "Απαιτεί αυτή η δοκιμή συνημμένο αρχείο κατά την προσθήκη αποτελέσματος δοκιμής;" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "Έγκυρες επιλογές για αυτή τη δοκιμή (διαχωρισμένες με κόμμα)" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "Το στοιχείο BOM δεν μπορεί να τροποποιηθεί - η συναρμολόγηση είναι κλειδωμένη" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "Το στοιχείο BOM δεν μπορεί να τροποποιηθεί - η συναρμολόγηση παραλλαγής είναι κλειδωμένη" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Επιλέξτε γονικό προϊόν" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Υποπροϊόν" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "Επιλέξτε προϊόν που θα χρησιμοποιηθεί στο BOM" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Ποσότητα BOM για αυτό το στοιχείο BOM" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Αυτό το στοιχείο BOM είναι προαιρετικό" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Αυτό το στοιχείο BOM είναι αναλώσιμο (δεν παρακολουθείται στις εντολές παραγωγής)" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "Ποσότητα ρύθμισης" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "Επιπλέον απαιτούμενη ποσότητα για μια παραγωγή, για να ληφθούν υπόψη οι απώλειες ρύθμισης" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "Φθορά" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Εκτιμώμενη φθορά για μια παραγωγή, εκφρασμένη ως ποσοστό (0-100)" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "Πολλαπλάσιο στρογγυλοποίησης" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "Στρογγυλοποίηση προς τα πάνω της απαιτούμενης ποσότητας παραγωγής στο πλησιέστερο πολλαπλάσιο αυτής της τιμής" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "Αναφορά στοιχείου BOM" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "Σημειώσεις στοιχείου BOM" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Άθροισμα ελέγχου" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "Άθροισμα ελέγχου γραμμής BOM" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Επικυρωμένο" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "Αυτό το στοιχείο BOM έχει επικυρωθεί" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "Κληρονομείται" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Αυτό το στοιχείο BOM κληρονομείται από τα BOM για προϊόντα παραλλαγών" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Είδη αποθέματος για προϊόντα παραλλαγών μπορούν να χρησιμοποιηθούν για αυτό το στοιχείο BOM" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "Η ποσότητα πρέπει να είναι ακέραια τιμή για προϊόντα με ιχνηλάτηση" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "Πρέπει να καθοριστεί υποπροϊόν" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "Εναλλακτικό στοιχείο BOM" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "Το εναλλακτικό προϊόν δεν μπορεί να είναι το ίδιο με το κύριο προϊόν" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "Γονικό στοιχείο BOM" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Εναλλακτικό προϊόν" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Προϊόν 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Προϊόν 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "Επιλέξτε σχετικό προϊόν" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "Σημείωση για αυτή τη σχέση" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "Δεν μπορεί να δημιουργηθεί σχέση προϊόντος μεταξύ ενός προϊόντος και του εαυτού του" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "Υπάρχει ήδη διπλή σχέση" @@ -6627,239 +6652,243 @@ msgstr "Υπάρχει ήδη προϊόν κατασκευαστή με αυτ msgid "Supplier part matching this SKU already exists" msgstr "Υπάρχει ήδη προϊόν προμηθευτή με αυτό το SKU" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Όνομα κατηγορίας" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "Σε παραγωγή" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "Ποσότητα αυτού του προϊόντος που βρίσκεται αυτή τη στιγμή σε παραγωγή" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Εκκρεμής ποσότητα αυτού του προϊόντος που έχει προγραμματιστεί για παραγωγή" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Είδη αποθέματος" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "Αναθεωρήσεις" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Συνολικό απόθεμα" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "Μη δεσμευμένο απόθεμα" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "Απόθεμα παραλλαγών" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Αντιγραφή προϊόντος" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "Αντιγραφή αρχικών δεδομένων από άλλο προϊόν" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Αρχικό απόθεμα" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "Δημιουργία προϊόντος με αρχική ποσότητα αποθέματος" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Πληροφορίες προμηθευτή" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "Προσθήκη αρχικών πληροφοριών προμηθευτή για αυτό το προϊόν" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "Αντιγραφή παραμέτρων κατηγορίας" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "Αντιγραφή προτύπων παραμέτρων από την επιλεγμένη κατηγορία προϊόντος" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Υπάρχουσα εικόνα" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "Όνομα αρχείου υπάρχουσας εικόνας προϊόντος" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "Το αρχείο εικόνας δεν υπάρχει" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "Επικύρωση ολόκληρης της λίστας υλικών (BOM)" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "Μπορεί να παραχθεί" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "Απαιτείται για εντολές παραγωγής" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "Δεσμευμένο σε εντολές παραγωγής" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "Απαιτείται για εντολές πώλησης" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "Δεσμευμένο σε εντολές πώλησης" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Ελάχιστη τιμή" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "Παράκαμψη υπολογισμένης τιμής για την ελάχιστη τιμή" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "Νόμισμα ελάχιστης τιμής" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Μέγιστη τιμή" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "Παράκαμψη υπολογισμένης τιμής για τη μέγιστη τιμή" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "Νόμισμα μέγιστης τιμής" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Ενημέρωση" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "Ενημέρωση τιμολόγησης για αυτό το προϊόν" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Δεν ήταν δυνατή η μετατροπή από τα δοθέντα νομίσματα σε {default_currency}" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "Η ελάχιστη τιμή δεν πρέπει να είναι μεγαλύτερη από τη μέγιστη τιμή" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "Η μέγιστη τιμή δεν πρέπει να είναι μικρότερη από την ελάχιστη τιμή" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "Επιλέξτε τη γονική συναρμολόγηση" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "Επιλέξτε το προϊόν Προϊόντος" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "Επιλέξτε προϊόν από το οποίο θα αντιγραφεί το BOM" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "Αφαίρεση υπαρχόντων δεδομένων" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "Αφαίρεση υπαρχόντων στοιχείων BOM πριν την αντιγραφή" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "Συμπερίληψη κληρονομημένων" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "Συμπερίληψη στοιχείων BOM που κληρονομούνται από προϊόντα προτύπων" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Παράλειψη μη έγκυρων γραμμών" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Ενεργοποιήστε αυτή την επιλογή για να παραλείπονται οι μη έγκυρες γραμμές" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "Αντιγραφή εναλλακτικών προϊόντων" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "Αντιγραφή εναλλακτικών προϊόντων κατά την αντιγραφή στοιχείων BOM" diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po index c90620808b..589019f5cb 100644 --- a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-09 01:55+0000\n" +"POT-Creation-Date: 2026-05-11 01:59+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -90,6 +90,7 @@ msgstr "" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "" @@ -271,7 +272,7 @@ msgstr "" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "" @@ -279,7 +280,7 @@ msgstr "" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -337,15 +338,15 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "" @@ -572,11 +573,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -596,9 +597,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "" @@ -670,16 +671,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -688,7 +689,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "" @@ -712,8 +713,8 @@ msgid "Available" msgstr "" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "" @@ -732,7 +733,7 @@ msgstr "" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -740,7 +741,7 @@ msgstr "" msgid "Location" msgstr "" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -786,7 +787,7 @@ msgstr "" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -872,7 +873,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "" @@ -909,7 +910,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -922,7 +923,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "" @@ -984,7 +985,7 @@ msgstr "" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" @@ -1021,7 +1022,7 @@ msgstr "" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1100,7 +1101,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "" @@ -1405,7 +1406,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "" @@ -1413,29 +1414,29 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "" @@ -1618,7 +1619,7 @@ msgstr "" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1652,7 +1653,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1732,7 +1733,7 @@ msgstr "" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" @@ -1963,7 +1964,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2059,7 +2060,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2075,7 +2076,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2095,7 +2096,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2107,7 +2108,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "" @@ -2158,7 +2159,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2860,8 +2861,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "" @@ -2869,7 +2870,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "" @@ -2877,7 +2878,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "" @@ -2889,7 +2890,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "" @@ -4299,11 +4300,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4324,7 +4325,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4356,7 +4357,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "" @@ -4520,7 +4521,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "" @@ -5489,7 +5490,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5765,63 +5766,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5834,7 +5835,7 @@ msgstr "" msgid "Part Categories" msgstr "" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5883,632 +5884,656 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6628,239 +6653,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index f9b8b68e0f..6d1cd20cf7 100644 --- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -89,6 +89,7 @@ msgstr "No se pudo convertir {original} a {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" @@ -270,7 +271,7 @@ msgstr "Selección no válida" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Nombre" @@ -278,7 +279,7 @@ msgstr "Nombre" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Se ha registrado un error por el servidor." msgid "Image" msgstr "Imágen" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Moneda" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" @@ -571,11 +572,11 @@ msgstr "Incluye Variantes" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "Incluye Variantes" msgid "Part" msgstr "Parte" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Categoría" @@ -669,16 +670,16 @@ msgstr "Excluir Árbol" msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Consumible" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Opcional" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Montaje" @@ -687,7 +688,7 @@ msgstr "Montaje" msgid "Tracked" msgstr "Rastreado" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Comprobable" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Disponible" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "En pedido" @@ -731,7 +732,7 @@ msgstr "Construir órden" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Construir órden" msgid "Location" msgstr "Ubicación" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "Salida" @@ -785,7 +786,7 @@ msgstr "Número de orden de construcción o armado" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Número de lote de este producto final" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Fecha de Creación" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsable" @@ -921,7 +922,7 @@ msgstr "Usuario o grupo responsable de esta orden de construcción" msgid "External Link" msgstr "Link externo" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Enlace a URL externa" @@ -983,7 +984,7 @@ msgstr "La salida de la construcción no coincide con el orden de construcción" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" @@ -1020,7 +1021,7 @@ msgstr "Ensamblar equipo" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Artículo de stock de destino" msgid "Build Level" msgstr "Nivel de construcción" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Nombre de parte" @@ -1404,7 +1405,7 @@ msgstr "Referencia de orden de Ensamblado" msgid "Part Category Name" msgstr "Nombre de la categoría por pieza" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Rastreable" @@ -1412,29 +1413,29 @@ msgstr "Rastreable" msgid "Inherited" msgstr "Heredado" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Permitir variantes" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "Item de Lista de Materiales" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "En producción" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Stock externo" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Stock Disponible" @@ -1617,7 +1618,7 @@ msgstr "Cadena de clave debe ser única" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Nombre para este webhook" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Activo" @@ -1731,7 +1732,7 @@ msgstr "Título" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Enlace" @@ -1962,7 +1963,7 @@ msgstr "Nombre de la lista de selección" msgid "Description of the selection list" msgstr "Descripción de la lista de selección" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Bloqueado" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "Nombre de Parámetro" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Unidades" @@ -2094,7 +2095,7 @@ msgstr "Casilla de verificación" msgid "Is this parameter a checkbox?" msgstr "¿Es este parámetro una casilla de verificación?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Opciones" @@ -2106,7 +2107,7 @@ msgstr "Opciones válidas para este parámetro (separados por comas)" msgid "Selection list for this parameter" msgstr "Lista de selección para este parámetro" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Habilitado" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "Valor del parámetro" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "Las partes son plantillas por defecto" msgid "Parts can be assembled from other components by default" msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Componente" @@ -2868,7 +2869,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Las partes pueden ser usadas como subcomponentes por defecto" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Comprable" @@ -2876,7 +2877,7 @@ msgstr "Comprable" msgid "Parts are purchaseable by default" msgstr "Las partes son comprables por defecto" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Vendible" @@ -2888,7 +2889,7 @@ msgstr "Las partes se pueden vender por defecto" msgid "Parts are trackable by default" msgstr "Las partes son rastreables por defecto" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Virtual" @@ -4298,11 +4299,11 @@ msgstr "URL del enlace de parte del proveedor externo" msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "costo base" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" @@ -4323,7 +4324,7 @@ msgstr "Cantidad de paquete" 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:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "múltiple" @@ -4355,7 +4356,7 @@ msgstr "Moneda predeterminada utilizada para este proveedor" msgid "Company Name" msgstr "Nombre de la empresa" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "En Stock" @@ -4519,7 +4520,7 @@ msgstr "Datos de la fila original" msgid "Errors" msgstr "Errores" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Válido" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "SKU" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Número de parte interna" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "Categoría de parte" msgid "Part Categories" msgstr "Categorías de parte" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Ubicación Predeterminada" @@ -5882,632 +5883,656 @@ msgstr "Valor predeterminado" msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Partes" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 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:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN duplicado no permitido en la configuración de partes" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "La revisión de parte duplicada ya existe." -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "Parte con este nombre, IPN y revisión ya existe." -#: part/models.py:1069 +#: part/models.py:1070 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:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Nombre de la parte" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Es plantilla" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "¿Es esta parte una parte de la plantilla?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "¿Es esta parte una variante de otra parte?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Variante de" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Descripción de parte (opcional)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Palabras claves" -#: part/models.py:1133 +#: part/models.py:1134 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:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Categoría de parte" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "Revisión de parte o número de versión" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Revisión" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "¿Es esta parte una variante de otra parte?" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "Variante de" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "¿Dónde se almacena este artículo normalmente?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Expiración por defecto" -#: part/models.py:1223 +#: part/models.py:1224 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:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Stock mínimo" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "Nivel mínimo de stock permitido" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Unidades de medida para esta parte" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "¿Se puede construir esta parte a partir de otras partes?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "¿Se puede utilizar esta parte para construir otras partes?" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "¿Esta parte tiene seguimiento de objetos únicos?" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "¿Se puede comprar esta parte a proveedores externos?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "¿Se puede vender esta parte a los clientes?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "¿Está activa esta parte?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "Las partes bloqueadas no pueden ser editadas" -#: part/models.py:1294 +#: part/models.py:1304 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:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "Suma de verificación de BOM" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "Suma de verificación de BOM almacenada" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "BOM comprobado por" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "Fecha BOM comprobada" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Creación de Usuario" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "Dueño responsable de esta parte" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Vender múltiples" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "Costo mínimo de BOM" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "Costo mínimo de partes de componentes" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "Costo máximo de BOM" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "Costo máximo de partes de componentes" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "Costo mínimo de compra" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "Costo histórico mínimo de compra" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "Costo máximo de compra" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "Costo histórico máximo de compra" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "Precio interno mínimo" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "Costo mínimo basado en precios reducidos internos" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "Precio interno máximo" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "Costo máximo basado en precios reducidos internos" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "Precio mínimo de proveedor" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la parte de proveedores externos" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "Precio máximo de proveedor" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "Precio máximo de la parte de proveedores externos" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "Costo mínimo de variante" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "Costo mínimo calculado de las partes variantes" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "Costo máximo de variante" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "Costo máximo calculado de las partes variantes" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "Costo mínimo" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "Anular el costo mínimo" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "Costo máximo" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "Reemplazar coste máximo" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "Costo mínimo general calculado" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "Precio de venta mínimo" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "Precio de venta mínimo basado en precios reducidos" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "Precio de venta máximo" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "Precio de venta máximo basado en precios reducidos" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "Costo de venta mínimo" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "Precio de venta mínimo histórico" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "Costo de Venta Máximo" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "Precio de venta máximo histórico" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "Número de artículos" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Fecha" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "Costo de Stock Mínimo" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "Costo mínimo estimado del stock disponible" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "Las plantillas de prueba solo pueden ser creadas para partes de prueba" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Nombre de prueba" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "Introduzca un nombre para la prueba" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Requerido" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "¿Es necesario pasar esta prueba?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Requiere valor" -#: part/models.py:3750 +#: part/models.py:3760 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:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Adjunto obligatorio" -#: part/models.py:3757 +#: part/models.py:3767 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:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Seleccionar parte principal" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Sub parte" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Cantidad del artículo en BOM" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Este artículo BOM es opcional" -#: part/models.py:4012 +#: part/models.py:4082 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:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "Referencia de artículo de BOM" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "Notas del artículo de BOM" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Suma de verificación" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "Suma de verificación de línea de BOM" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Validado" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "Este artículo de BOM ha sido validado" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 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:4085 +#: part/models.py:4155 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:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "La cantidad debe ser un valor entero para las partes rastreables" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "Debe especificar la subparte" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "Ítem de BOM sustituto" -#: part/models.py:4378 +#: part/models.py:4446 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:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "Artículo BOM superior" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Sustituir parte" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "Seleccionar parte relacionada" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "Nota para esta relación" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Nombre de categoría" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "En construcción" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Elementos de stock" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Inventario Total" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Stock Inicial" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "Crear Parte con cantidad inicial de stock" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Información del proveedor" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "Añadir información inicial del proveedor para esta parte" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Imagen Existente" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "El archivo de imagen no existe" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "Validación de Lista de Materiales" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "Puede construir" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Precio mínimo" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "Anular el valor calculado para precio mínimo" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "Precio mínimo de moneda" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Precio máximo" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "Precio máximo de moneda" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 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:1563 +#: part/serializers.py:1568 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:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:2006 +#: part/serializers.py:2020 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:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "Copiar partes sustitutas" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 4432e5f79a..5d35ffe24c 100644 --- a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -89,6 +89,7 @@ msgstr "No se pudo convertir {original} a {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" @@ -270,7 +271,7 @@ msgstr "Selección no válida" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Nombre" @@ -278,7 +279,7 @@ msgstr "Nombre" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Se ha registrado un error por el servidor." msgid "Image" msgstr "Imágen" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Moneda" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" @@ -571,11 +572,11 @@ msgstr "Incluye Variantes" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "Incluye Variantes" msgid "Part" msgstr "Parte" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Categoría" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Consumible" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Opcional" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Montaje" @@ -687,7 +688,7 @@ msgstr "Montaje" msgid "Tracked" msgstr "Rastreado" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Comprobable" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Disponible" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "En pedido" @@ -731,7 +732,7 @@ msgstr "Construir órden" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Construir órden" msgid "Location" msgstr "Ubicación" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "Número de orden de construcción o armado" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Número de lote de este producto final" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Fecha de Creación" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsable" @@ -921,7 +922,7 @@ msgstr "Usuario o grupo responsable de esta orden de construcción" msgid "External Link" msgstr "Link externo" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Enlace a URL externa" @@ -983,7 +984,7 @@ msgstr "La salida de la construcción no coincide con el orden de construcción" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" @@ -1020,7 +1021,7 @@ msgstr "Ensamblar equipo" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Artículo de stock de destino" msgid "Build Level" msgstr "Nivel de construcción" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Nombre de parte" @@ -1404,7 +1405,7 @@ msgstr "Referencia de orden de Ensamblado" msgid "Part Category Name" msgstr "Nombre de la categoría por pieza" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Rastreable" @@ -1412,29 +1413,29 @@ msgstr "Rastreable" msgid "Inherited" msgstr "Heredado" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Permitir variantes" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "Item de Lista de Materiales" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "En producción" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Stock externo" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Stock Disponible" @@ -1617,7 +1618,7 @@ msgstr "Cadena de clave debe ser única" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Nombre para este webhook" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Activo" @@ -1731,7 +1732,7 @@ msgstr "Título" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Enlace" @@ -1962,7 +1963,7 @@ msgstr "Nombre de la lista de selección" msgid "Description of the selection list" msgstr "Descripción de la lista de selección" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Bloqueado" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "Nombre de Parámetro" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Unidades" @@ -2094,7 +2095,7 @@ msgstr "Casilla de verificación" msgid "Is this parameter a checkbox?" msgstr "¿Es este parámetro una casilla de verificación?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Opciones" @@ -2106,7 +2107,7 @@ msgstr "Opciones válidas para este parámetro (separados por comas)" msgid "Selection list for this parameter" msgstr "Lista de selección para este parámetro" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Habilitado" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "Valor del parámetro" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "Las partes son plantillas por defecto" msgid "Parts can be assembled from other components by default" msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Componente" @@ -2868,7 +2869,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Las partes pueden ser usadas como subcomponentes por defecto" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Comprable" @@ -2876,7 +2877,7 @@ msgstr "Comprable" msgid "Parts are purchaseable by default" msgstr "Las partes son comprables por defecto" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Vendible" @@ -2888,7 +2889,7 @@ msgstr "Las partes se pueden vender por defecto" msgid "Parts are trackable by default" msgstr "Las partes son rastreables por defecto" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Virtual" @@ -4298,11 +4299,11 @@ msgstr "URL del enlace de parte del proveedor externo" msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "costo base" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" @@ -4323,7 +4324,7 @@ msgstr "Cantidad de paquete" 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:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "múltiple" @@ -4355,7 +4356,7 @@ msgstr "Moneda predeterminada utilizada para este proveedor" msgid "Company Name" msgstr "Nombre de la empresa" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "En Stock" @@ -4519,7 +4520,7 @@ msgstr "Datos de la fila original" msgid "Errors" msgstr "Errores" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Válido" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "SKU" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Número de parte interna" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "Categoría de parte" msgid "Part Categories" msgstr "Categorías de parte" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Ubicación Predeterminada" @@ -5882,632 +5883,656 @@ msgstr "Valor predeterminado" msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Partes" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 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:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN duplicado no permitido en la configuración de partes" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "La revisión de parte duplicada ya existe." -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "Parte con este nombre, IPN y revisión ya existe." -#: part/models.py:1069 +#: part/models.py:1070 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:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Nombre de la parte" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Es plantilla" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "¿Es esta parte una parte de la plantilla?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "¿Es esta parte una variante de otra parte?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Variante de" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Descripción de parte (opcional)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Palabras claves" -#: part/models.py:1133 +#: part/models.py:1134 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:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Categoría de parte" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "Revisión de parte o número de versión" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Revisión" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "¿Es esta parte una variante de otra parte?" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "Variante de" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "¿Dónde se almacena este artículo normalmente?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Expiración por defecto" -#: part/models.py:1223 +#: part/models.py:1224 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:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Stock mínimo" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "Nivel mínimo de stock permitido" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Unidades de medida para esta parte" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "¿Se puede construir esta parte a partir de otras partes?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "¿Se puede utilizar esta parte para construir otras partes?" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "¿Esta parte tiene seguimiento de objetos únicos?" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "¿Se puede comprar esta parte a proveedores externos?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "¿Se puede vender esta parte a los clientes?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "¿Está activa esta parte?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "Las partes bloqueadas no pueden ser editadas" -#: part/models.py:1294 +#: part/models.py:1304 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:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "Suma de verificación de BOM" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "Suma de verificación de BOM almacenada" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "BOM comprobado por" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "Fecha BOM comprobada" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Creación de Usuario" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "Dueño responsable de esta parte" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Vender múltiples" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "Costo mínimo de BOM" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "Costo mínimo de partes de componentes" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "Costo máximo de BOM" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "Costo máximo de partes de componentes" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "Costo mínimo de compra" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "Costo histórico mínimo de compra" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "Costo máximo de compra" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "Costo histórico máximo de compra" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "Precio interno mínimo" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "Costo mínimo basado en precios reducidos internos" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "Precio interno máximo" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "Costo máximo basado en precios reducidos internos" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "Precio mínimo de proveedor" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la parte de proveedores externos" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "Precio máximo de proveedor" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "Precio máximo de la parte de proveedores externos" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "Costo mínimo de variante" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "Costo mínimo calculado de las partes variantes" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "Costo máximo de variante" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "Costo máximo calculado de las partes variantes" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "Costo mínimo" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "Anular el costo mínimo" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "Costo máximo" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "Reemplazar coste máximo" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "Costo mínimo general calculado" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "Precio de venta mínimo" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "Precio de venta mínimo basado en precios reducidos" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "Precio de venta máximo" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "Precio de venta máximo basado en precios reducidos" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "Costo de venta mínimo" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "Precio de venta mínimo histórico" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "Costo de Venta Máximo" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "Precio de venta máximo histórico" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "Número de artículos" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Fecha" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "Costo de Stock Mínimo" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "Costo mínimo estimado del stock disponible" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "Las plantillas de prueba solo pueden ser creadas para partes de prueba" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Nombre de prueba" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "Introduzca un nombre para la prueba" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Requerido" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "¿Es necesario pasar esta prueba?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Requiere valor" -#: part/models.py:3750 +#: part/models.py:3760 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:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Adjunto obligatorio" -#: part/models.py:3757 +#: part/models.py:3767 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:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Seleccionar parte principal" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Sub parte" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Cantidad del artículo en BOM" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Este artículo BOM es opcional" -#: part/models.py:4012 +#: part/models.py:4082 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:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "Referencia de artículo de BOM" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "Notas del artículo de BOM" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Suma de verificación" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "Suma de verificación de línea de BOM" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Validado" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "Este artículo de BOM ha sido validado" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 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:4085 +#: part/models.py:4155 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:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "La cantidad debe ser un valor entero para las partes rastreables" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "Debe especificar la subparte" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "Ítem de BOM sustituto" -#: part/models.py:4378 +#: part/models.py:4446 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:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "Artículo BOM superior" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Sustituir parte" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "Seleccionar parte relacionada" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "Nota para esta relación" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Nombre de categoría" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "En construcción" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Elementos de stock" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Inventario Total" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Stock Inicial" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "Crear Parte con cantidad inicial de stock" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Información del proveedor" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "Añadir información inicial del proveedor para esta parte" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Imagen Existente" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "El archivo de imagen no existe" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "Validación de Lista de Materiales" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "Puede construir" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Precio mínimo" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "Anular el valor calculado para precio mínimo" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "Precio mínimo de moneda" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Precio máximo" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "Precio máximo de moneda" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 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:1563 +#: part/serializers.py:1568 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:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:2006 +#: part/serializers.py:2020 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:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "Copiar partes sustitutas" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po index 5bbb47779e..6db6c33f09 100644 --- a/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Estonian\n" "Language: et_EE\n" @@ -89,6 +89,7 @@ msgstr "" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "" @@ -270,7 +271,7 @@ msgstr "Vigane valik" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Nimi" @@ -278,7 +279,7 @@ msgstr "Nimi" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "" msgid "Image" msgstr "Pilt" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Valuuta" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "Osa" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Valikuline" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +688,7 @@ msgstr "" msgid "Tracked" msgstr "Jälgitud" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Saadaval" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "" @@ -731,7 +732,7 @@ msgstr "" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "" msgid "Location" msgstr "Asukoht" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Loomise kuupäev" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -921,7 +922,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "" @@ -983,7 +984,7 @@ msgstr "" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" @@ -1020,7 +1021,7 @@ msgstr "" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Osa nimi" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Jälgitav" @@ -1412,29 +1413,29 @@ msgstr "Jälgitav" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Saadaval laos" @@ -1617,7 +1618,7 @@ msgstr "" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1731,7 +1732,7 @@ msgstr "Pealkiri" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2094,7 +2095,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Komponent" @@ -2868,7 +2869,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Ostetav" @@ -2876,7 +2877,7 @@ msgstr "Ostetav" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "" @@ -2888,7 +2889,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Virtuaalne" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4323,7 +4324,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4355,7 +4356,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "Tootekood" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "Osa kategooria" msgid "Part Categories" msgstr "Osa kategooriad" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5882,632 +5883,656 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Osad" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Osa nimi" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "On mall" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Märksõnad" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Osa kategooria" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Minimaalne laoseis" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "Testimalle saab luua ainult testitavate osade jaoks" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Kategooria nimi" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "Ehitamine" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Tarnija info" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Minimaalne hind" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Maksimaalne hind" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Uuenda" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po index 9ab6c5bf15..0ce3063963 100644 --- a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -89,6 +89,7 @@ msgstr "نمی‌توان {original} را به {unit} تبدیل کرد" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "مقدار ارائه شده نامعتبر است" @@ -270,7 +271,7 @@ msgstr "انتخاب نامعتبر" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "نام" @@ -278,7 +279,7 @@ msgstr "نام" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "یک خطا توسط سرور ثبت شده است." msgid "Image" msgstr "" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "باید یک عدد معتبر باشد" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "ارز" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "ارز را از گزینه های موجود انتخاب کنید" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "قطعه" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "دسته" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "مصرفی" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "اختیاری" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "مونتاژ" @@ -687,7 +688,7 @@ msgstr "مونتاژ" msgid "Tracked" msgstr "" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "" @@ -711,8 +712,8 @@ msgid "Available" msgstr "در دسترس" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "" @@ -731,7 +732,7 @@ msgstr "سفارش ساخت" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "سفارش ساخت" msgid "Location" msgstr "مکان" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "کاربری که این سفارش ساخت را صادر کرده است" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -921,7 +922,7 @@ msgstr "" msgid "External Link" msgstr "پیوند خارجی" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "" @@ -983,7 +984,7 @@ msgstr "" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" @@ -1020,7 +1021,7 @@ msgstr "" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "" @@ -1412,29 +1413,29 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "" @@ -1617,7 +1618,7 @@ msgstr "" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1731,7 +1732,7 @@ msgstr "" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2094,7 +2095,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "" @@ -2868,7 +2869,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "" @@ -2876,7 +2877,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "" @@ -2888,7 +2889,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4323,7 +4324,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4355,7 +4356,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "" msgid "Part Categories" msgstr "" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5882,632 +5883,656 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index f083869ea3..7e1d528ffd 100644 --- a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -89,6 +89,7 @@ msgstr "" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Annettu määrä on virheellinen" @@ -270,7 +271,7 @@ msgstr "Virheellinen valinta" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Nimi" @@ -278,7 +279,7 @@ msgstr "Nimi" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "" msgid "Image" msgstr "Kuva" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Valuutta" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Valitse valuutta käytettävissä olevista vaihtoehdoista" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "Osa" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Kategoria" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +688,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Saatavilla" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "" @@ -731,7 +732,7 @@ msgstr "" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "" msgid "Location" msgstr "Sijainti" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -921,7 +922,7 @@ msgstr "" msgid "External Link" msgstr "Ulkoinen linkki" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Linkki ulkoiseen URLiin" @@ -983,7 +984,7 @@ msgstr "" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" @@ -1020,7 +1021,7 @@ msgstr "" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Seurattavissa" @@ -1412,29 +1413,29 @@ msgstr "Seurattavissa" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "" @@ -1617,7 +1618,7 @@ msgstr "" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktiivinen" @@ -1731,7 +1732,7 @@ msgstr "Otsikko" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Linkki" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2094,7 +2095,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Käytössä" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Komponentti" @@ -2868,7 +2869,7 @@ msgstr "Komponentti" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Ostettavissa" @@ -2876,7 +2877,7 @@ msgstr "Ostettavissa" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "" @@ -2888,7 +2889,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4323,7 +4324,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4355,7 +4356,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "" msgid "Part Categories" msgstr "" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5882,632 +5883,656 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Avainsanat" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Päivämäärä" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index 9a1ed84bde..a0917f3ea4 100644 --- a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -89,6 +89,7 @@ msgstr "Impossible de convertir {original} en {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" @@ -270,7 +271,7 @@ msgstr "Choix invalide" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Nom" @@ -278,7 +279,7 @@ msgstr "Nom" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Une erreur a été loguée par le serveur." msgid "Image" msgstr "Image" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Devise" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Sélectionnez la devise à partir des options disponibles" @@ -571,11 +572,11 @@ msgstr "Inclure les variantes" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "Inclure les variantes" msgid "Part" msgstr "Pièce" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Catégorie" @@ -669,16 +670,16 @@ msgstr "Exclure l'arbre" 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:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Consommable" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Facultatif" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Assemblage" @@ -687,7 +688,7 @@ msgstr "Assemblage" msgid "Tracked" msgstr "Suivi" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Testable" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Disponible" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "En Commande" @@ -731,7 +732,7 @@ msgstr "Ordre de Fabrication" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Ordre de Fabrication" msgid "Location" msgstr "Emplacement" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "Sortie" @@ -785,7 +786,7 @@ msgstr "Référence de l' Ordre de Fabrication" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Date de création" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsable" @@ -921,7 +922,7 @@ msgstr "Utilisateur ou groupe responsable de cet ordre de construction" msgid "External Link" msgstr "Lien Externe" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Lien vers une url externe" @@ -983,7 +984,7 @@ msgstr "L'ordre de production de correspond pas à l'ordre de commande" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" @@ -1020,7 +1021,7 @@ msgstr "Création de l'objet" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Stock de destination de l'article" msgid "Build Level" msgstr "Niveau de construction" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Nom de l'article" @@ -1404,7 +1405,7 @@ msgstr "Référence de construction" msgid "Part Category Name" msgstr "Nom de la catégorie de pièces" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Traçable" @@ -1412,29 +1413,29 @@ msgstr "Traçable" msgid "Inherited" msgstr "Reçu de quelqu'un" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Autoriser les variantes" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "Article du BOM" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "En Production" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "Planifié pour fabrication" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Stock externe" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Stock disponible" @@ -1617,7 +1618,7 @@ msgstr "La chaîne de caractères constituant la clé doit être unique" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Nom de ce webhook" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Actif" @@ -1731,7 +1732,7 @@ msgstr "Titre" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Lien" @@ -1962,7 +1963,7 @@ msgstr "Nom de la liste de sélection" msgid "Description of the selection list" msgstr "Description de la liste de sélection" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Verrouillé" @@ -2058,7 +2059,7 @@ msgstr "Les paramètres des cases à cocher ne peuvent pas avoir d'unités" msgid "Checkbox parameters cannot have choices" msgstr "Les paramètres des cases à cocher ne peuvent pas comporter de choix" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "Les choix doivent être uniques" @@ -2074,7 +2075,7 @@ msgstr "Type de modèle cible pour ce modèle de paramètre" msgid "Parameter Name" msgstr "Nom du paramètre" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Unités" @@ -2094,7 +2095,7 @@ msgstr "Case à cocher" msgid "Is this parameter a checkbox?" msgstr "Ce paramètre est-il une case à cocher ?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Choix" @@ -2106,7 +2107,7 @@ msgstr "Choix valables pour ce paramètre (séparés par des virgules)" msgid "Selection list for this parameter" msgstr "Liste de sélection pour ce paramètre" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Activé" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "Valeur du paramètre" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "Les pièces sont des templates par défaut" 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/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Composant" @@ -2868,7 +2869,7 @@ msgstr "Composant" 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/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Achetable" @@ -2876,7 +2877,7 @@ msgstr "Achetable" msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Vendable" @@ -2888,7 +2889,7 @@ msgstr "Les pièces sont vendables par défaut" msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Virtuelle" @@ -4298,11 +4299,11 @@ msgstr "Lien de la pièce du fournisseur externe" msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "coût de base" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" @@ -4323,7 +4324,7 @@ msgstr "Nombre de paquet" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Quantité totale fournie dans un emballage unique. Laisser vide pour les articles individuels." -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "plusieurs" @@ -4355,7 +4356,7 @@ msgstr "Devise par défaut utilisée pour ce fournisseur" msgid "Company Name" msgstr "Nom de l'entreprise" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "En Stock" @@ -4519,7 +4520,7 @@ msgstr "Données de la ligne d'origine" msgid "Errors" msgstr "Erreurs" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Valide" @@ -5488,7 +5489,7 @@ msgstr "Fusionner en un seul poste les éléments ayant la même partie, la mêm msgid "SKU" msgstr "Unité de gestion des stocks" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Numéro de pièce interne" @@ -5764,63 +5765,63 @@ msgstr "Est la révision" msgid "Has Revisions" msgstr "A des révisions" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "Nomenclature valide" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "Catégories en cascade" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "Si vrai, inclure des éléments dans les sous-catégories de la catégorie donnée" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Filtrer par ID de catégorie numérique ou par 'null'" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "La pièce d'assemblage est active" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "La pièce d'assemblage est traçable" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "La pièce d'assemblage est testable" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "Le composant est testable" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "Utilise" @@ -5833,7 +5834,7 @@ msgstr "Catégorie de composant" msgid "Part Categories" msgstr "Catégories de composants" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Emplacement par défaut" @@ -5882,632 +5883,656 @@ msgstr "Valeur par Défaut" msgid "Default Parameter Value" msgstr "Valeur par défaut du paramètre" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Pièces" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "Impossible de supprimer cette partie car elle est verrouillée" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "Impossible de supprimer cette partie car elle est toujours active" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "Impossible de supprimer cette pièce car elle est utilisée dans un assemblage" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "La partie \"{self}\" ne peut pas être utilisée dans la nomenclature de \"{parent}\" (récursif)" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "La partie \"{parent}\" est utilisée dans la nomenclature de \"{self}\" (récursif)" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "L'IPN doit correspondre au modèle de regex {pattern}" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "Une partie ne peut pas être une révision d'elle-même" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "Les révisions ne sont autorisées que pour les pièces d'assemblage" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "Impossible d'effectuer une révision d'un modèle de pièce" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "La partie parentale doit pointer vers le même modèle" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "Il existe déjà un article en stock avec ce numéro de série" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "La révision de la pièce existe déjà en double." -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "Une pièce avec ce nom, IPN et révision existe déjà." -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "Les pièces ne peuvent pas être affectées à des catégories de pièces structurelles !" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Nom de l'article" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Est un modèle" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "Cette pièce est-elle une pièce modèle ?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "Cette pièce est-elle une variante d'une autre pièce ?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Variante de" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Description de la pièce (facultatif)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Mots-clés" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "Les mots-clés partiels pour améliorer la visibilité dans les résultats de recherche" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "Numéro de révision ou de version de la pièce" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Révision" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "Cette partie est-elle une révision d'une autre partie ?" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "Révision de" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "Où cet article est-il normalement stocké ?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Expiration par défaut" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "Délai d'expiration (en jours) pour les articles en stock de cette pièce" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Stock Minimum" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "Niveau de stock minimum autorisé" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Unités de mesure pour cette partie" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "Cette pièce peut-elle être fabriquée à partir d'autres pièces ?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "Cette pièce peut-elle être utilisée pour construire d'autres pièces ?" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "Cette partie dispose-t-elle d'un suivi pour les articles uniques ?" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "Des résultats de tests peuvent-ils être enregistrés pour cette pièce ?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "Cette pièce peut-elle être achetée auprès de fournisseurs externes ?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "Cette pièce peut-elle être vendue aux clients ?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "Est-ce que cette pièce est active ?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "Les parties verrouillées ne peuvent pas être modifiées" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "S'agit-il d'un élément virtuel, tel qu'un logiciel ou une licence ?" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "Nomenclature validée" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "Est-ce que la nomenclature pour cette pièce est correcte ?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "Somme de contrôle de la nomenclature" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "Somme de contrôle de la nomenclature enregistrée" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "Nomenclature vérifiée par" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "Date de vérification de la nomenclature" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Création Utilisateur" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "Propriétaire responsable de cette pièce" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "Devise utilisée pour cacher les calculs de prix" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "Coût minimum de la nomenclature" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "Coût minimal des composants" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "Coût maximal de la nomenclature" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "Coût maximal des composants" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "Coût d'achat minimum" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "Coût d'achat historique minimum" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "Coût d'achat maximum" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "Coût d'achat historique maximum" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "Prix interne minimum" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "Coût minimum basé sur des ruptures de prix internes" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "Prix interne maximum" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "Coût maximum basé sur les écarts de prix internes" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "Prix minimum du fournisseur" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "Prix minimum des pièces provenant de fournisseurs externes" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "Prix maximum du fournisseur" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "Prix maximum des pièces provenant de fournisseurs externes" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "Coût minimum de la variante" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "Calcul du coût minimum des pièces de la variante" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "Coût maximal de la variante" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "Calcul du coût maximal des pièces de la variante" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "Coût minimal" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "Remplacer le coût minimum" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "Coût maximal" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "Dépassement du coût maximal" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "Calcul du coût minimum global" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "Calcul du coût maximum global" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "Prix de vente minimum" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "Prix de vente minimum basé sur des ruptures de prix" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "Prix de vente maximum" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "Prix de vente maximum en fonction des écarts de prix" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "Coût minimum de vente" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "Prix de vente historique minimum" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "Coût de vente maximum" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "Prix de vente historique maximum" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "Partie pour l'inventaire" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "Nombre d'articles" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "Nombre d'entrées individuelles au moment de l'inventaire" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "Stock total disponible au moment de l'inventaire" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Date" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "Date de l'inventaire" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "Coût minimum du stock" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "Coût minimum estimé des stocks disponibles" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "Coût maximal du stock" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "Coût maximum estimé des stocks disponibles" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "Vente de pièces détachées Prix cassé" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "Modèle de test partiel" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Le nom du modèle n'est pas valide - il doit comporter au moins un caractère alphanumérique" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "Les modèles de test ne peuvent être créés que pour les parties testables" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "Un modèle de test avec la même clé existe déjà pour la partie" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "Entrez un nom pour le test" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "Clé de test" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "Clé simplifiée pour le test" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Description du test" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Saisir la description de ce test" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "Ce test est-il activé ?" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Requis" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "Ce test est-il obligatoire pour passer l'examen ?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Valeur requise" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "Ce test nécessite-t-il une valeur lors de l'ajout d'un résultat de test ?" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Nécessite une pièce jointe" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "Ce test nécessite-t-il un fichier joint lors de l'ajout d'un résultat de test ?" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "Choix valables pour ce test (séparés par des virgules)" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "L'article de nomenclature ne peut pas être modifié - l'assemblage est verrouillé" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "Le poste de nomenclature ne peut pas être modifié - l'assemblage de la variante est verrouillé" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Sélectionner la partie parentale" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Sous-partie" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "Sélectionner la pièce à utiliser dans la nomenclature" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Quantité de nomenclature pour ce poste de nomenclature" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Ce poste de nomenclature est facultatif" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ce poste de nomenclature est consommable (il n'est pas suivi dans les ordres de fabrication)." -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "Définir la quantité" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "Attrition" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Attrition estimée pour cette fabrication, exprimée en pourcentage (0-100)" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "Arrondi au multiple" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "Arrondir la quantité de production requise au multiple le plus proche de cette valeur" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "Référence du poste de nomenclature" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "Notes sur les postes de nomenclature" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Somme de contrôle" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "Somme de contrôle de la ligne de nomenclature" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Validée" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "Ce poste de nomenclature a été validé" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "Obtient l'héritage" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Ce poste de nomenclature est hérité des nomenclatures des composants variants" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Les postes de stock pour les composants variants peuvent être utilisés pour ce poste de nomenclature" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "La quantité doit être un nombre entier pour les pièces pouvant être suivies" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "La sous-partie doit être spécifiée" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "Remplacement d'un poste de nomenclature" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "La pièce de remplacement ne peut pas être identique à la pièce maîtresse" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "Poste de nomenclature parent" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Pièce de rechange" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Première partie" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Partie 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "Sélectionner une partie connexe" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "Note pour cette relation" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "Il n'est pas possible de créer une relation entre une pièce et elle-même" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "Une relation en double existe déjà" @@ -6627,239 +6652,243 @@ msgstr "La pièce du fabricant correspondant à ce MPN existe déjà" msgid "Supplier part matching this SKU already exists" msgstr "La pièce du fournisseur correspondant à cette UGS existe déjà" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Nom catégorie" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "Construction" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "Quantité de cette pièce actuellement en production" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Quantité exceptionnelle de cette pièce sont planifié à la fabrication" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Éléments en stock" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "Révisions" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Stock total" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "Stock non attribué" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "Variante Stock" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Dupliquer une pièce" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "Copier les données initiales d'une autre partie" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Stock initial" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "Créer une pièce avec une quantité de stock initiale" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Informations sur le fournisseur" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "Ajouter les informations initiales du fournisseur pour cette pièce" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "Copier les paramètres de la catégorie" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "Copier les modèles de paramètres de la catégorie de pièces sélectionnée" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Image existante" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "Nom de fichier d'une image de pièce existante" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "Le fichier image n'existe pas" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "Valider l'ensemble de la nomenclature" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "Peut construire" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "Nécessaire pour fabrication" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "Alloué à la fabrication" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "Nécessaire pour les commandes" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "Alloué aux commandes" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Prix Minimum" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "Remplacer la valeur calculée pour le prix minimum" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "Prix minimum monnaie" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Prix Maximum" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "Remplacer la valeur calculée pour le prix maximum" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "Devise du prix maximum" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Mise à jour" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "Mise à jour des prix pour cette pièce" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Impossible de convertir les devises fournies en {default_currency}" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "Le prix minimum ne doit pas être supérieur au prix maximum" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "Le prix maximum ne doit pas être inférieur au prix minimum" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "Sélectionner l'assemblage parent" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "Sélectionner le composant" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "Sélectionner la pièce à partir de laquelle copier la nomenclature" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "Supprimer les données existantes" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "Supprimer les postes de nomenclature existants avant de les copier" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "Inclure l'héritage" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "Inclure les éléments de nomenclature hérités des pièces modélisées" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Sauter les lignes non valides" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Activez cette option pour ignorer les lignes non valides" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "Copier les pièces de remplacement" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copie de pièces de rechange en cas de duplication de postes de nomenclature" diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index ec814bb692..361318d91f 100644 --- a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -89,6 +89,7 @@ msgstr "" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "" @@ -270,7 +271,7 @@ msgstr "בחירה שגויה" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "שם" @@ -278,7 +279,7 @@ msgstr "שם" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "נרשמה שגיאה על ידי השרת." msgid "Image" msgstr "" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "מטבע" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "בחר מטבע מהאפשרויות הזמינות" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "רכיב" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +688,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "" @@ -711,8 +712,8 @@ msgid "Available" msgstr "" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "" @@ -731,7 +732,7 @@ msgstr "" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "" msgid "Location" msgstr "" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -921,7 +922,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "קישור חיצוני" @@ -983,7 +984,7 @@ msgstr "" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" @@ -1020,7 +1021,7 @@ msgstr "" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "" @@ -1412,29 +1413,29 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "" @@ -1617,7 +1618,7 @@ msgstr "" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1731,7 +1732,7 @@ msgstr "" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "קישור" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2094,7 +2095,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "" @@ -2868,7 +2869,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "" @@ -2876,7 +2877,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "" @@ -2888,7 +2889,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4323,7 +4324,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4355,7 +4356,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "" msgid "Part Categories" msgstr "" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5882,632 +5883,656 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index b97c03622f..9376073073 100644 --- a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -89,6 +89,7 @@ msgstr "" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "" @@ -270,7 +271,7 @@ msgstr "" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "" @@ -278,7 +279,7 @@ msgstr "" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +688,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "" @@ -711,8 +712,8 @@ msgid "Available" msgstr "" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "" @@ -731,7 +732,7 @@ msgstr "" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "" msgid "Location" msgstr "" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -921,7 +922,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "" @@ -983,7 +984,7 @@ msgstr "" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" @@ -1020,7 +1021,7 @@ msgstr "" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "" @@ -1412,29 +1413,29 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "" @@ -1617,7 +1618,7 @@ msgstr "" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1731,7 +1732,7 @@ msgstr "" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2094,7 +2095,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "" @@ -2868,7 +2869,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "" @@ -2876,7 +2877,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "" @@ -2888,7 +2889,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4323,7 +4324,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4355,7 +4356,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "" msgid "Part Categories" msgstr "" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5882,632 +5883,656 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index 4dd3a36ea4..fbb6f1198f 100644 --- a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -89,6 +89,7 @@ msgstr "{original} átváltása {unit}-ra sikertelen" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" @@ -270,7 +271,7 @@ msgstr "Érvénytelen választás" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Név" @@ -278,7 +279,7 @@ msgstr "Név" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "A kiszolgáló egy hibaüzenetet rögzített." msgid "Image" msgstr "Kép" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Pénznem" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Válassz pénznemet a lehetőségek közül" @@ -571,11 +572,11 @@ msgstr "Változatokkal együtt" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "Változatokkal együtt" msgid "Part" msgstr "Alkatrész" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Kategória" @@ -669,16 +670,16 @@ msgstr "Fa kihagyása" 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:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Opcionális" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Gyártmány" @@ -687,7 +688,7 @@ msgstr "Gyártmány" msgid "Tracked" msgstr "Követett" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Ellenőrizhető" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Elérhető" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "Rendelve" @@ -731,7 +732,7 @@ msgstr "Gyártási utasítás" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Gyártási utasítás" msgid "Location" msgstr "Hely" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "Kimenet" @@ -785,7 +786,7 @@ msgstr "Gyártási utasítás azonosító" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Létrehozás dátuma" @@ -908,7 +909,7 @@ 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:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Felelős" @@ -921,7 +922,7 @@ msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" msgid "External Link" msgstr "Külső link" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Link külső URL-re" @@ -983,7 +984,7 @@ msgstr "Gyártási kimenet nem egyezik a gyártási utasítással" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" @@ -1020,7 +1021,7 @@ msgstr "Gyártás objektum" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Cél készlet tétel" msgid "Build Level" msgstr "Gyártási Szint" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Alkatrész neve" @@ -1405,7 +1406,7 @@ msgstr "Gyártási Hivatkozás" msgid "Part Category Name" msgstr "Alkatrész kategória Neve" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Követésre kötelezett" @@ -1413,29 +1414,29 @@ msgstr "Követésre kötelezett" msgid "Inherited" msgstr "Örökölt" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Változatok" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "Gyártásban" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "Gyártás Ütemezve" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Külső raktárkészlet" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Elérhető készlet" @@ -1618,7 +1619,7 @@ msgstr "Kulcs string egyedi kell legyen" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1652,7 +1653,7 @@ msgstr "Webhook neve" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktív" @@ -1732,7 +1733,7 @@ msgstr "Cím" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" @@ -1963,7 +1964,7 @@ msgstr "Választéklista neve" msgid "Description of the selection list" msgstr "Választéklista leírása" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Lezárt" @@ -2059,7 +2060,7 @@ msgstr "Jelölőnégyzet paraméternek nem lehet mértékegysége" msgid "Checkbox parameters cannot have choices" msgstr "Jelölőnégyzet paraméternek nem lehetnek választási lehetőségei" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "A lehetőségek egyediek kell legyenek" @@ -2075,7 +2076,7 @@ msgstr "Célmodell típusa ehhez a paramétersablonhoz" msgid "Parameter Name" msgstr "Paraméter neve" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Mértékegység" @@ -2095,7 +2096,7 @@ msgstr "Jelölőnégyzet" msgid "Is this parameter a checkbox?" msgstr "Ez a paraméter egy jelölőnégyzet?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Lehetőségek" @@ -2107,7 +2108,7 @@ msgstr "Választható lehetőségek (vesszővel elválasztva)" msgid "Selection list for this parameter" msgstr "A paraméter választéklistája" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Engedélyezve" @@ -2158,7 +2159,7 @@ msgid "Parameter Value" msgstr "Paraméter értéke" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2860,8 +2861,8 @@ msgstr "Alkatrészek alapból sablon alkatrészek legyenek" msgid "Parts can be assembled from other components by default" msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Összetevő" @@ -2869,7 +2870,7 @@ msgstr "Összetevő" msgid "Parts can be used as sub-components by default" msgstr "Alkatrészek alapból használhatók összetevőként más alkatrészekhez" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Beszerezhető" @@ -2877,7 +2878,7 @@ msgstr "Beszerezhető" msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Értékesíthető" @@ -2889,7 +2890,7 @@ msgstr "Alkatrészek alapból eladhatók legyenek" msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Virtuális" @@ -4299,11 +4300,11 @@ msgstr "URL link a beszállítói alkatrészhez" msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "alap költség" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" @@ -4324,7 +4325,7 @@ msgstr "Csomagolási mennyiség" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Egy csomagban kiszállítható mennyiség, hagyd üresen az egyedi tételeknél." -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "többszörös" @@ -4356,7 +4357,7 @@ msgstr "Beszállító által használt alapértelmezett pénznem" msgid "Company Name" msgstr "Cégnév" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "Készleten" @@ -4520,7 +4521,7 @@ msgstr "Eredeti sor adat" msgid "Errors" msgstr "Hibák" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Érvényes" @@ -5489,7 +5490,7 @@ msgstr "Azonos forrás és cél dátumú Alkatrész tételeinek összevonása eg msgid "SKU" msgstr "SKU (leltári azonosító)" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Belső cikkszám" @@ -5765,63 +5766,63 @@ msgstr "Változat" msgid "Has Revisions" msgstr "Vannak Változatok" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "Alkatrészjegyzék ellenőrizve" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "Kaszkád Kategóriák" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "Ha igaz, tartalmazza az adott kategória alkategóriáiban lévő tételeket" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Szűrés numerikus kategória azonosító vagy a 'null' literál szerint" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "Összeállított Alkatrész ellenőrizhető" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "Összetevő alkatrész ellenőrizhető" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "Használ" @@ -5834,7 +5835,7 @@ msgstr "Alkatrész kategória" msgid "Part Categories" msgstr "Alkatrész kategóriák" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Alapértelmezett hely" @@ -5883,632 +5884,656 @@ msgstr "Alapértelmezett érték" msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Alkatrészek" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "Nem lehet törölni egy zárolt alkatrész paramétereit" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "Nem lehet módosítani egy zárolt alkatrész paramétereit" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "Lezárt alkatrész nem törölhető" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "Aktív alkatrész nem törölhető" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "Összeállításban felhasznált alkatrész nem törölhető" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, 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:701 +#: part/models.py:702 #, 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:768 +#: part/models.py:769 #, 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:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "Alkatrész nem lehes saját magának verziója" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "Verziók csak összeállított alkatrészeknél engedélyezettek" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "Nem lehet sablon alkatrészből új verziót csinálni" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "A szülő alkatrésznek azonos sablonra kell mutatnia" -#: part/models.py:901 +#: part/models.py:902 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:1031 +#: part/models.py:1032 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:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "Adott alkatrész verzióból már létezik egy." -#: part/models.py:1054 +#: part/models.py:1055 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:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Alkatrész leírása (opcionális)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Kulcsszavak" -#: part/models.py:1133 +#: part/models.py:1134 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:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN (Belső Cikkszám)" -#: part/models.py:1158 +#: part/models.py:1159 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:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Változat" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "Ez egy másik alkatrész egy verziója?" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "Ennek a verziója" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:1223 +#: part/models.py:1224 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:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Minimális készlet" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Alkatrész mértékegysége" -#: part/models.py:1248 +#: part/models.py:1258 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:1254 +#: part/models.py:1264 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:1260 +#: part/models.py:1270 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:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "Lehet ehhez az alkatrészhez több ellenőrzési eredményt rögzíteni?" -#: part/models.py:1272 +#: part/models.py:1282 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:1278 +#: part/models.py:1288 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:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "Lezárt alkatrészt nem lehet szerkeszteni" -#: part/models.py:1294 +#: part/models.py:1304 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:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "Alkatrészjegyzék ellenőrizve" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "Az alkatrész anyagjegyzéke érvényes?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "Alkatrész felelőse" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "Minimum költség felülbírálása" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "Maximum költség" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "Maximum költség felülbírálása" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Dátum" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "Alkatrész értékesítési ársáv" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "Alkatrész Teszt Sablon" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Hibás sablon név - legalább egy alfanumerikus karakter kötelező" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "Teszt sablont csak ellenőrizhetőre beállított alkatrészhez lehet csinálni" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "Már létezik ilyen azonosítójú Teszt sablon ehhez az alkatrészhez" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "Teszt azonosító" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "Egyszerűsített Teszt azonosító" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "Teszt engedélyezve?" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Kötelező" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3750 +#: part/models.py:3760 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:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3757 +#: part/models.py:3767 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:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "Választható lehetőségek ehhez a Teszthez (vesszővel elválasztva)" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "Alkatrészjegyzék nem szerkeszthető mert az összeállítás le van zárva" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "Alkatrészjegyzék nem szerkeszthető mert az összeállítás változat le van zárva" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:4012 +#: part/models.py:4082 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:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "Beállítás mennyiség" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "A gyártáshoz szükséges extra mennyiség, a beállási veszteséggel együtt" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "Veszteség" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Becsült veszteség egy gyártásnál, százalékban kifejezve (0-100)" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "Kerekítési többszörös" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "A szükséges termelési mennyiség az érték legközelebbi többszöröséhez kerekítése" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:4079 +#: part/models.py:4149 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:4085 +#: part/models.py:4155 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:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 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:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4378 +#: part/models.py:4446 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:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "Kapcsolati megjegyzés" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" @@ -6628,239 +6653,243 @@ msgstr "Van már ilyen gyártói alkatrész" msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Kategória neve" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "Gyártásban" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "Az alkatrészből jelenleg ennyi van gyártás alatt" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Már beütemezett de még nem kész gyártási mennyiség" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Készlet tételek" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "Verziók" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Teljes készlet" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "Nem lefoglalt készlet" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "Variánsok Raktárkészlet" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Alkatrész másolása" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:993 +#: part/serializers.py:998 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:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Meglévő kép" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "A meglévő alkatrész képfájl neve" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "A képfájl nem létezik" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "Gyártható" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "Gyártásokhoz szükséges" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "Gyártási rendelésekhez foglalva" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "Értékesítési rendeléshez szükséges" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "Értékesítési rendeléshez lefoglalva" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Minimum ár" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "Számított minimum ár felülbírálása" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "Minimum ár pénzneme" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Maximum ár" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "Számított maximum ár felülbírálása" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "Maximum ár pénzneme" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, 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:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "A Minimum ár nem lehet nagyobb mint a Maximum ár" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "A Maximum ár nem lehet kisebb mint a Minimum ár" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "Szülő összeállítás kiválasztása" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "Összetevő alkatrész kijelölése" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:2000 +#: part/serializers.py:2014 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:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:2006 +#: part/serializers.py:2020 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:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:2018 +#: part/serializers.py:2032 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" diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index d40ec2127d..48a3b6e8af 100644 --- a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -89,6 +89,7 @@ msgstr "" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Jumlah yang diberikan tidak valid" @@ -270,7 +271,7 @@ msgstr "Pilihan tidak valid" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Nama" @@ -278,7 +279,7 @@ msgstr "Nama" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Sebuah kesalahan telah dicatat oleh server." msgid "Image" msgstr "" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Mata Uang" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "Bagian" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +688,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Tersedia" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "" @@ -731,7 +732,7 @@ msgstr "Order Produksi" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Order Produksi" msgid "Location" msgstr "Lokasi" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "Referensi Order Produksi" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Tanggal Pembuatan" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Penanggung Jawab" @@ -921,7 +922,7 @@ msgstr "" msgid "External Link" msgstr "Tautan eksternal" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" @@ -983,7 +984,7 @@ msgstr "Hasil produksi tidak sesuai dengan order produksi" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" @@ -1020,7 +1021,7 @@ msgstr "" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Tujuan stok item" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "" @@ -1412,29 +1413,29 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "Item tagihan material" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "" @@ -1617,7 +1618,7 @@ msgstr "" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktif" @@ -1731,7 +1732,7 @@ msgstr "Judul" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Tautan" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2094,7 +2095,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Pilihan" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Aktif" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Komponen" @@ -2868,7 +2869,7 @@ msgstr "Komponen" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "" @@ -2876,7 +2877,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "" @@ -2888,7 +2889,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4323,7 +4324,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4355,7 +4356,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "" msgid "Part Categories" msgstr "" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5882,632 +5883,656 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Tanggal" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Harga Minimal" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Harga Maksimal" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Perbarui" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index 294603f438..da653eba76 100644 --- a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -89,6 +89,7 @@ msgstr "Impossibile convertire {original} in {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" @@ -270,7 +271,7 @@ msgstr "Scelta non valida" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Nome" @@ -278,7 +279,7 @@ msgstr "Nome" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Un errore è stato loggato dal server." msgid "Image" msgstr "Immagine" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Selezionare la valuta dalle opzioni disponibili" @@ -571,11 +572,11 @@ msgstr "Includi Varianti" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "Includi Varianti" msgid "Part" msgstr "Articolo" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Categoria" @@ -669,16 +670,16 @@ msgstr "Escludi Albero" msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Opzionale" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Assemblaggio" @@ -687,7 +688,7 @@ msgstr "Assemblaggio" msgid "Tracked" msgstr "Monitorato" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Testabile" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Disponibile" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "Ordinato" @@ -731,7 +732,7 @@ msgstr "Ordine di Produzione" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Ordine di Produzione" msgid "Location" msgstr "Posizione" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "Output" @@ -785,7 +786,7 @@ msgstr "Riferimento Ordine Di Produzione" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Data di creazione" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsabile" @@ -921,7 +922,7 @@ msgstr "Utente o gruppo responsabile di questo ordine di produzione" msgid "External Link" msgstr "Collegamento esterno" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Link a URL esterno" @@ -983,7 +984,7 @@ msgstr "L'output della produzione non corrisponde all'ordine di compilazione" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" @@ -1020,7 +1021,7 @@ msgstr "Crea oggetto" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Destinazione articolo in giacenza" msgid "Build Level" msgstr "Livello Produzione" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Nome Articolo" @@ -1404,7 +1405,7 @@ msgstr "Riferimento Ordine Di Costruzione" msgid "Part Category Name" msgstr "Nome Categoria Articolo" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Tracciabile" @@ -1412,29 +1413,29 @@ msgstr "Tracciabile" msgid "Inherited" msgstr "Ereditato" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "Distinta base (Bom)" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "In Produzione" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "Pianificato per la produzione" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Scorte esterne" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Disponibilità in magazzino" @@ -1617,7 +1618,7 @@ msgstr "La stringa chiave deve essere univoca" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Nome per questa notifica" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Attivo" @@ -1731,7 +1732,7 @@ msgstr "Titolo" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Collegamento" @@ -1962,7 +1963,7 @@ msgstr "Nome dell'elenco di selezione" msgid "Description of the selection list" msgstr "Descrizione della lista di selezione" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Bloccato" @@ -2058,7 +2059,7 @@ msgstr "I parametri della casella di controllo non possono avere unità" msgid "Checkbox parameters cannot have choices" msgstr "I parametri della casella di controllo non possono avere scelte" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "Le scelte devono essere uniche" @@ -2074,7 +2075,7 @@ msgstr "Tipo di modello di destinazione per questo modello di parametro" msgid "Parameter Name" msgstr "Nome Parametro" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Unità" @@ -2094,7 +2095,7 @@ msgstr "Casella di spunta" msgid "Is this parameter a checkbox?" msgstr "Questo parametro è una casella di spunta?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Scelte" @@ -2106,7 +2107,7 @@ msgstr "Scelte valide per questo parametro (separato da virgola)" msgid "Selection list for this parameter" msgstr "Lista di selezione per questo parametro" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Abilitato" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "Valore del Parametro" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "Gli articoli sono modelli per impostazione predefinita" msgid "Parts can be assembled from other components by default" msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Componente" @@ -2868,7 +2869,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Gli articoli possono essere assemblati da altri componenti per impostazione predefinita" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Acquistabile" @@ -2876,7 +2877,7 @@ msgstr "Acquistabile" msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Vendibile" @@ -2888,7 +2889,7 @@ msgstr "Gli articoli sono acquistabili per impostazione predefinita" msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Virtuale" @@ -4298,11 +4299,11 @@ msgstr "URL dell'articolo del fornitore" msgid "Supplier part description" msgstr "Descrizione articolo fornitore" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "costo base" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" @@ -4323,7 +4324,7 @@ msgstr "Quantità Confezione" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Quantità totale fornita in una singola confezione. Lasciare vuoto per gli articoli singoli." -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "multiplo" @@ -4355,7 +4356,7 @@ msgstr "Valuta predefinita utilizzata per questo fornitore" msgid "Company Name" msgstr "Nome Azienda" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "In magazzino" @@ -4519,7 +4520,7 @@ msgstr "Dati riga originali" msgid "Errors" msgstr "Errori" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Valido" @@ -5488,7 +5489,7 @@ msgstr "Unisce gli elementi con lo stesso articolo, destinazione e data di desti msgid "SKU" msgstr "Codice articolo" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" @@ -5764,63 +5765,63 @@ msgstr "E' una revisione" msgid "Has Revisions" msgstr "Ha revisioni" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "BOM Valido" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "Categorie a Cascata" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "Se Vero, includere gli elementi nelle categorie figlie della categoria specificata" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Filtra per categoria ID numerica o per la stringa 'null'" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "L'articolo assemblato è provabile" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "Il componente è provabile" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "Utilizzi" @@ -5833,7 +5834,7 @@ msgstr "Categoria Articoli" msgid "Part Categories" msgstr "Categorie Articolo" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Posizione Predefinita" @@ -5882,632 +5883,656 @@ msgstr "Valore Predefinito" msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Articoli" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "Impossibile eliminare i parametri di una parte bloccata" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "Impossibile modificare i parametri di una parte bloccata" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "Impossibile eliminare questo articolo perché è bloccato" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "Impossibile eliminare questo articolo perché è ancora attivo" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "Non è possibile eliminare questo articolo in quanto è utilizzato in una costruzione" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "L'articolo '{self}' non può essere usata nel BOM per '{parent}' (ricorsivo)" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "L'articolo '{parent}' è usato nel BOM per '{self}' (ricorsivo)" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN deve corrispondere al modello regex {pattern}" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "L'articolo non può essere una revisione di se stesso" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "Le revisioni sono consentite solo per le parti di assemblaggio" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "Non è possibile effettuare la revisione di un articolo modello" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "L'articolo genitore deve puntare allo stesso modello" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "Esiste già un elemento stock con questo numero seriale" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "La revisione dell'articolo duplicata esiste già." -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "È Template" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Variante Di" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Descrizione della parte (opzionale)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Parole Chiave" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Revisione" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "Questo articolo è una revisione di un altro articolo?" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "Revisione di" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:1223 +#: part/models.py:1224 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:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Scorta Minima" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Unita di misura per questo articolo" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "Questo articolo può essere costruito da altri articoli?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "Questo articolo può essere utilizzato per costruire altri articoli?" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "Questo articolo ha il tracciamento per gli elementi unici?" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "Questo articolo può avere delle prove registrate?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "Gli articoli bloccati non possono essere modificati" -#: part/models.py:1294 +#: part/models.py:1304 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:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "BOM Convalidata" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "Il BOM per questa parte è valido?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "Somma di controllo Distinta Base" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "Somma di controllo immagazzinata Distinta Base" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "Distinta Base controllata da" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "Data di verifica Distinta Base" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Creazione Utente" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "Utente responsabile di questo articolo" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "Sovrascrivi il costo minimo" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "Costo Massimo" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "Sovrascrivi il costo massimo" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Data" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "Aggiungi Prezzo Ribassato di Vendita dell'Articolo" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "Modello Prove Articolo" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Nome modello non valido - deve includere almeno un carattere alfanumerico" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "Il modello di prova può essere creato solo per gli articoli testabili" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "Il modello di test con la stessa chiave esiste già per l'articolo" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "Chiave Di Prova" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "Chiave semplificata per la prova" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "Questo test è attivo?" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Richiesto" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3750 +#: part/models.py:3760 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:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3757 +#: part/models.py:3767 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:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "Scelte valide per questo test (separate da virgole)" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "L'articolo nella distinta base non può essere modificato - l'assemblaggio è bloccato" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "L'articolo nella distinta base non può essere modificato - l'assemblaggio della variante è bloccato" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:4012 +#: part/models.py:4082 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:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "Imposta quantità" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "Quantità extra necessaria per una generazione, per tenere conto delle perdite di configurazione" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "Logoramento" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Stima del logoramento per una build, espressa in percentuale (0-100)" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "Arrotondamento Multiplo" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "Arrotonda la quantità di produzione richiesta al multiplo più vicino di questo valore" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Convalidato" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "Questo articolo della distinta base è stato validato" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "Viene Ereditato" -#: part/models.py:4079 +#: part/models.py:4149 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:4085 +#: part/models.py:4155 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:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4378 +#: part/models.py:4446 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:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "Nota per questa relazione" -#: part/models.py:4450 +#: part/models.py:4518 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:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" @@ -6627,239 +6652,243 @@ msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Nome Categoria" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "In Costruzione" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "Quantità di questo articolo attualmente in produzione" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Eccezionale quantità di questa parte prevista da costruire" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Articoli in magazzino" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "Revisioni" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Giacenze Totali" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "Scorte Non Assegnate" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "Scorta Variante" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Immagine esistente" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "Nome del file di un'immagine articolo esistente" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "Il file immagine non esiste" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "Convalida l'intera Fattura dei Materiali" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "Puoi produrre" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "Richiesto per gli Ordini di Produzione" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "Assegnato agli Ordini di Produzione" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "Richiesto per gli Ordini di Vendita" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "Assegnato agli Ordini di Vendita" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Prezzo Minimo" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "Sovrascrivi valore calcolato per il prezzo minimo" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "Valuta del prezzo minimo" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Prezzo Massimo" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "Sovrascrivi valore calcolato per il prezzo massimo" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "Valuta del prezzo massimo" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Impossibile convertire dalle valute fornite in {default_currency}" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "Il prezzo minimo non può essere maggiore del prezzo massimo" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "Il prezzo massimo non può essere minore del prezzo minimo" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "Seleziona l'assemblaggio padre" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "Seleziona la componente" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index 7735bc3e34..58c130e903 100644 --- a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -89,6 +89,7 @@ msgstr "{original}を{unit}に変換できませんでした。" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "数量コードが無効です" @@ -270,7 +271,7 @@ msgstr "無効な選択です" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "お名前" @@ -278,7 +279,7 @@ msgstr "お名前" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "サーバーによってエラーが記録されました。" msgid "Image" msgstr "画像" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "通貨" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "利用可能なオプションから通貨を選択してください" @@ -571,11 +572,11 @@ msgstr "バリアントを含む" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "バリアントを含む" msgid "Part" msgstr "パーツ" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "カテゴリ" @@ -669,16 +670,16 @@ msgstr "ツリーを除く" msgid "Build must be cancelled before it can be deleted" msgstr "削除するには、ビルドをキャンセルする必要があります。" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "消耗品" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "オプション" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "アセンブリ" @@ -687,7 +688,7 @@ msgstr "アセンブリ" msgid "Tracked" msgstr "追跡" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "テスト可能" @@ -711,8 +712,8 @@ msgid "Available" msgstr "利用可能" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "注文中" @@ -731,7 +732,7 @@ msgstr "組立注文" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "組立注文" msgid "Location" msgstr "場所" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "出力" @@ -785,7 +786,7 @@ msgstr "ビルド・オーダー・リファレンス" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "このビルド出力のバッチコード" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "作成日時" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "このビルドオーダーを発行したユーザー" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "責任" @@ -921,7 +922,7 @@ msgstr "このビルドオーダーを担当するユーザーまたはグルー msgid "External Link" msgstr "外部リンク" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "外部 サイト へのリンク" @@ -983,7 +984,7 @@ msgstr "ビルド出力がビルド順序と一致しません" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "数量はゼロより大きくなければなりません" @@ -1020,7 +1021,7 @@ msgstr "ビルドオブジェクト" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "仕向け地在庫品" msgid "Build Level" msgstr "ビルドレベル" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "部品名" @@ -1404,7 +1405,7 @@ msgstr "ビルドリファレンス" msgid "Part Category Name" msgstr "部品分類名" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "追跡可能" @@ -1412,29 +1413,29 @@ msgstr "追跡可能" msgid "Inherited" msgstr "継承" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "バリアントを許可" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "BOMアイテム" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "生産中" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "ビルド予定" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "外部在庫" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "在庫状況" @@ -1617,7 +1618,7 @@ msgstr "キー文字列は一意でなければなりません。" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "このウェブフックの名前" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "有効" @@ -1731,7 +1732,7 @@ msgstr "タイトル" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "リンク" @@ -1962,7 +1963,7 @@ msgstr "選択リストの名前" msgid "Description of the selection list" msgstr "選択リストの説明" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "ロック中" @@ -2058,7 +2059,7 @@ msgstr "チェックボックスのパラメータに単位を指定すること msgid "Checkbox parameters cannot have choices" msgstr "チェックボックスパラメータに選択肢を持たせることはできません。" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "選択肢はユニークでなければなりません" @@ -2074,7 +2075,7 @@ msgstr "このパラメータテンプレートにおける対象モデルタイ msgid "Parameter Name" msgstr "パラメータ名" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "単位" @@ -2094,7 +2095,7 @@ msgstr "チェックボックス" msgid "Is this parameter a checkbox?" msgstr "このパラメータはチェックボックスですか?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "選択肢" @@ -2106,7 +2107,7 @@ msgstr "このパラメータの有効な選択肢(カンマ区切り)" msgid "Selection list for this parameter" msgstr "このパラメータの選択リスト" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "有効" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "パラメータ値" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "パーツはデフォルトのテンプレートです" msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "コンポーネント" @@ -2868,7 +2869,7 @@ msgstr "コンポーネント" msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "購入可能" @@ -2876,7 +2877,7 @@ msgstr "購入可能" msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "販売可能" @@ -2888,7 +2889,7 @@ msgstr "パーツはデフォルトで販売可能です" msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "バーチャル" @@ -4298,11 +4299,11 @@ msgstr "外部サプライヤー部品リンク用URL" msgid "Supplier part description" msgstr "サプライヤーの部品説明" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "基本料金" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "ミニマムチャージ(例:仕入れ手数料)" @@ -4323,7 +4324,7 @@ msgstr "パック数量" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "1パックに供給される総量。単品の場合は空のままにしてください。" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "複数" @@ -4355,7 +4356,7 @@ msgstr "このサプライヤーで使用されるデフォルト通貨" msgid "Company Name" msgstr "会社名" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "在庫あり" @@ -4519,7 +4520,7 @@ msgstr "元の行データ" msgid "Errors" msgstr "エラー" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "有効" @@ -5488,7 +5489,7 @@ msgstr "同じ品目、同じ仕向け地、同じ日付の品目を1つの品 msgid "SKU" msgstr "SKU" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "内部部品番号" @@ -5764,63 +5765,63 @@ msgstr "改訂版" msgid "Has Revisions" msgstr "改定あり" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "BOM有効" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "カスケードカテゴリ" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "もし該当する場合には、指定されたカテゴリの子カテゴリ内のアイテムを含めてください。" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "数値カテゴリIDまたはリテラル'null'でフィルタリングしてください" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "組み立て部分はテスト可能" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "コンポーネント部分はテスト可能" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "用途" @@ -5833,7 +5834,7 @@ msgstr "パーツカテゴリ" msgid "Part Categories" msgstr "パーツカテゴリ" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "デフォルトの場所" @@ -5882,632 +5883,656 @@ msgstr "初期値" msgid "Default Parameter Value" msgstr "パラメータのデフォルト値" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "パーツ" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "ロックされた部品のパラメータは削除できません" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "ロックされた部品のパラメータを変更することはできません" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "この部分はロックされているため削除できません" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "このパートはまだアクティブなので削除できません。" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "この部品はアセンブリで使用されているため、削除できません。" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "パート'{self}'は'{parent}'(再帰的)のBOMでは使用できません。" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "パート'{parent}'は'{self}'のBOMで使用(再帰的)" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPNは正規表現パターン{pattern}に一致しなければなりません。" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "パートはそれ自体の改訂にはなりえません" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "修正が許されるのは組立部品のみ" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "テンプレート部品のリビジョンを作成できません" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "親部品は同じテンプレートを指す必要があります。" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "このシリアル番号の在庫品はすでに存在します" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "パート設定でIPNの重複が許可されていません。" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "重複する部品リビジョンが既に存在します。" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "この名前、IPN、リビジョンを持つ部品は既に存在します。" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "部品を構造部品のカテゴリーに割り当てることはできません!" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "部品名" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "テンプレート" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "この部品はテンプレート部品ですか?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "この部品は他の部品の変形ですか?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "変種" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "部品の説明(オプション)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "キーワード" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "検索結果での視認性を向上させる部分キーワード" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "パーツカテゴリ" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "部品のリビジョンまたはバージョン番号" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "リビジョン" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "この部品は他の部品の改訂版ですか?" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "改訂版" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "この商品は通常どこに保管されていますか?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "デフォルトの有効期限" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "この部品の在庫品の有効期限(日単位" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "最小在庫" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "最低許容在庫量" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "この部品の単位" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "この部品は他の部品から作ることができますか?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "この部品を使って他の部品を作ることはできますか?" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "このパーツはユニークなアイテムの追跡が可能ですか?" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "この部品にテスト結果を記録することはできますか?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "この部品は外部のサプライヤーから購入できますか?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "この部品は顧客に販売できますか?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "この部分はアクティブですか?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "ロックされた部分は編集できません" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "これは、ソフトウェア製品やライセンスなどの仮想部品ですか?" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "部品表の検証が完了しました" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "こちらの部品の部品表(BOM)は有効でしょうか?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "BOMチェックサム" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "保存されたBOMのチェックサム" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "BOMチェック済み" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "BOMチェック日" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "作成ユーザー" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "この部分の責任者" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "複数販売" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "価格計算のキャッシュに使用される通貨" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "最小BOMコスト" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "構成部品の最低コスト" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "最大BOMコスト" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "構成部品の最大コスト" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "最低購入価格" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "過去の最低購入価額" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "最大購入費用" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "過去の最高購入価格" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "最低社内価格" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "社内価格ブレークに基づく最低コスト" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "社内最高価格" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "社内価格ブレークに基づく最大コスト" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "最低供給価格" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "外部サプライヤーからの部品の最低価格" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "サプライヤー最高価格" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "外部サプライヤーからの部品の最高価格" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "最小バリアントコスト" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "バリアントパーツの最小コストの計算" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "最大バリアントコスト" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "バリアント部品の最大コストの計算" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "最低料金" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "最低コストのオーバーライド" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "最大コスト" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "最大コストのオーバーライド" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "総合的な最小コストの計算" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "総合最大コストの計算" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "最低販売価格" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "価格破壊に基づく最低販売価格" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "最高販売価格" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "価格破壊に基づく最高販売価格" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "最低販売価格" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "過去の最低売却価格" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "最大販売価格" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "過去の最高売却価格" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "ストックテイク用部品" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "個数" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "棚卸時の個別在庫数" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "ストックテイク時の在庫可能量" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "日付" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "ストックテイク実施日" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "最低在庫コスト" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "手元在庫の最低見積原価" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "最大在庫コスト" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "手元在庫の最大見積原価" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "パーツセール価格" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "部品試験テンプレート" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "無効なテンプレート名 - 英数字を1文字以上含む必要があります。" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "テストテンプレートは、テスト可能な部分に対してのみ作成できます。" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "同じキーを持つテスト・テンプレートがパートに既に存在します。" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "試験名" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "テストの名前を入力します。" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "テストキー" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "テストの簡易キー" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "試験内容" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "このテストの説明を入力してください。" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "このテストは有効ですか?" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "必須" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "このテストは合格するために必要ですか?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "価値が必要" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "このテストは、テスト結果を追加する際に値を必要としますか?" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "アタッチメントが必要" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "この試験では、試験結果を追加する際にファイルの添付が必要ですか。" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "このテストで有効な選択肢(カンマ区切り)" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "BOMアイテムは変更できません - アセンブリがロックされています。" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "BOM アイテムは変更できません - バリアントアセンブリがロックされています。" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "親部品を選択" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "サブパート" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "BOMで使用する部品を選択" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "このBOMアイテムのBOM数量" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "この部品表はオプションです。" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "このBOMアイテムは消耗品です。" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "設定数量" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "ビルドに必要な追加の必要量(セットアップ時の損失を考慮した分)" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "歩留まり損失" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "ビルドにおける推定歩留まり率(0~100%で表されます)" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "丸め倍数" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "必要な生産数量を、この値の倍数に切り上げてください。" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "BOMアイテムリファレンス" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "BOMアイテムノート" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "チェックサムi" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "BOMラインのチェックサム" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "検証済み" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "このBOMアイテムは検証済みです" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "継承" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "この BOM アイテムは、バリアントパーツの BOM に継承されます。" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "このBOMアイテムには、バリアントパーツのストックアイテムを使用できます。" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "数量は追跡可能な部品の場合、整数値でなければなりません。" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "サブパーツの指定が必要" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "BOMアイテム代替" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "代用部品はマスター部品と同じにすることはできません。" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "親BOMアイテム" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "代用部品" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "パート #1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "パート #2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "関連部品を選択" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "この関係について" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "部品とそれ自身との間に部品関係を作ることはできません。" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "重複する関係が既に存在します。" @@ -6627,239 +6652,243 @@ msgstr "このMPNに一致するメーカー部品はすでに存在します。 msgid "Supplier part matching this SKU already exists" msgstr "このSKUに一致するサプライヤー部品は既に存在します。" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "カテゴリ名" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "建物" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "現在生産中の当該部品の数量" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "この部品の予定生産数量" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "在庫商品" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "リビジョン" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "総在庫" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "未割当株式" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "バリアントストック" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "重複部分" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "別のパートから初期データをコピー" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "初期在庫" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "初期在庫数で部品を作成" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "サプライヤー情報" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "この部品の初期サプライヤー情報を追加します。" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "コピーカテゴリパラメータ" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "選択したパーツカテゴリーからパラメータテンプレートをコピー" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "既存イメージ" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "既存の部品画像のファイル名" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "画像ファイルが存在しません" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "部品表全体の検証" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "ビルド" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "ビルドオーダーに必要なもの" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "ビルドオーダーに割り当てられました" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "セールスオーダーに必要なもの" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "セールスオーダーに割り当てられました" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "最小価格" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "最低価格の計算値の上書き" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "最低価格通貨" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "最大価格" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "最高価格の計算値を上書き" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "最高価格通貨" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "更新" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "この部品の価格を更新" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "提供された通貨から{default_currency}に変換できませんでした。" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "最低価格は最高価格を超えてはなりません。" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "最高価格は最低価格を下回ってはなりません。" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "親アセンブリを選択" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "構成部品の選択" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "BOMをコピーする部品を選択します。" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "既存データの削除" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "コピー前に既存のBOMアイテムを削除" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "インクルード継承" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "テンプレート化された部品から継承されたBOM項目を含めます。" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "無効な行をスキップ" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "無効な行をスキップするには、このオプションを有効にします。" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "コピー代用部品" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "BOMアイテムの重複時に代替部品をコピー" diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index cc713e2141..059149081c 100644 --- a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -89,6 +89,7 @@ msgstr "{original}을(를) {unit}(으)로 변환할 수 없습니다" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "잘못된 수량이 제공되었습니다" @@ -270,7 +271,7 @@ msgstr "잘못된 선택입니다" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "이름" @@ -278,7 +279,7 @@ msgstr "이름" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "서버에 오류가 기록되었습니다." msgid "Image" msgstr "이미지" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "통화" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "사용 가능한 옵션에서 통화를 선택하세요" @@ -571,11 +572,11 @@ msgstr "변형(Variant) 포함" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "변형(Variant) 포함" msgid "Part" msgstr "부품" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "분류" @@ -669,16 +670,16 @@ msgstr "트리 제외" msgid "Build must be cancelled before it can be deleted" msgstr "빌드를 삭제하려면 먼저 취소해야 합니다" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "소모품" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "선택사항" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "조립품" @@ -687,7 +688,7 @@ msgstr "조립품" msgid "Tracked" msgstr "추적됨" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "테스트 가능" @@ -711,8 +712,8 @@ msgid "Available" msgstr "사용 가능" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "주문 중" @@ -731,7 +732,7 @@ msgstr "작업 지시서" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "작업 지시서" msgid "Location" msgstr "위치" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "산출물" @@ -785,7 +786,7 @@ msgstr "작업 지시서 참조번호" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "이 빌드 산출물의 배치 코드" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "생성일" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "이 작업 지시서를 발행한 사용자" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "담당" @@ -921,7 +922,7 @@ msgstr "이 작업 지시서를 담당하는 사용자 또는 그룹" msgid "External Link" msgstr "외부 링크" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "외부 URL로 연결" @@ -983,7 +984,7 @@ msgstr "생산 완제품이 작업 지시서와 일치하지 않습니다" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "수량은 0보다 커야 합니다" @@ -1020,7 +1021,7 @@ msgstr "빌드 객체" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "대상 재고 항목" msgid "Build Level" msgstr "빌드 레벨" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "부품명" @@ -1404,7 +1405,7 @@ msgstr "빌드 참조" msgid "Part Category Name" msgstr "부품 카테고리 이름" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "추적 가능" @@ -1412,29 +1413,29 @@ msgstr "추적 가능" msgid "Inherited" msgstr "상속됨" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "변형(Variant) 허용" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "BOM 항목" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "생산 중" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "빌드 예정" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "외부 재고" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "사용 가능 재고" @@ -1617,7 +1618,7 @@ msgstr "키 문자열은 고유해야 합니다" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "이 웹훅의 이름" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "활성" @@ -1731,7 +1732,7 @@ msgstr "제목" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "링크" @@ -1962,7 +1963,7 @@ msgstr "선택 목록 이름" msgid "Description of the selection list" msgstr "선택 목록 설명" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "잠김" @@ -2058,7 +2059,7 @@ msgstr "체크박스 매개변수에는 단위를 지정할 수 없습니다" msgid "Checkbox parameters cannot have choices" msgstr "체크박스 매개변수에는 선택지를 지정할 수 없습니다" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "선택지는 고유해야 합니다" @@ -2074,7 +2075,7 @@ msgstr "이 매개변수 템플릿의 대상 모델 유형" msgid "Parameter Name" msgstr "매개변수 이름" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "단위" @@ -2094,7 +2095,7 @@ msgstr "체크박스" msgid "Is this parameter a checkbox?" msgstr "이 매개변수는 체크박스인가요?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "선택지" @@ -2106,7 +2107,7 @@ msgstr "이 매개변수에 대한 유효한 선택지(쉼표로 구분)" msgid "Selection list for this parameter" msgstr "이 매개변수의 선택 목록" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "사용" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "매개변수 값" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "부품은 기본적으로 템플릿입니다" msgid "Parts can be assembled from other components by default" msgstr "부품은 기본적으로 다른 구성요소로 조립할 수 있습니다" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "구성요소" @@ -2868,7 +2869,7 @@ msgstr "구성요소" msgid "Parts can be used as sub-components by default" msgstr "부품은 기본적으로 하위 구성요소로 사용할 수 있습니다" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "구매 가능" @@ -2876,7 +2877,7 @@ msgstr "구매 가능" msgid "Parts are purchaseable by default" msgstr "부품은 기본적으로 구매 가능합니다" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "판매 가능" @@ -2888,7 +2889,7 @@ msgstr "부품은 기본적으로 판매 가능합니다" msgid "Parts are trackable by default" msgstr "부품은 기본적으로 추적 가능합니다" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "가상" @@ -4298,11 +4299,11 @@ msgstr "외부 공급업체 부품 링크 URL" msgid "Supplier part description" msgstr "공급업체 부품 설명" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "기본 비용" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "최소 요금(예: 보관 수수료)" @@ -4323,7 +4324,7 @@ msgstr "포장 수량" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "한 포장에 공급되는 총 수량입니다. 단품인 경우 비워 두세요." -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "배수" @@ -4355,7 +4356,7 @@ msgstr "이 공급업체에서 사용하는 기본 통화" msgid "Company Name" msgstr "회사명" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "재고 있음" @@ -4519,7 +4520,7 @@ msgstr "원본 행 데이터" msgid "Errors" msgstr "오류" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "유효" @@ -5488,7 +5489,7 @@ msgstr "부품, 목적지, 목표일이 같은 항목을 하나의 라인 항목 msgid "SKU" msgstr "SKU" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "내부 부품 번호" @@ -5764,63 +5765,63 @@ msgstr "리비전 여부" msgid "Has Revisions" msgstr "리비전 있음" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "BOM 유효" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "카테고리 계층 포함" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "참이면 지정된 카테고리의 하위 카테고리에 있는 항목을 포함합니다" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "숫자 카테고리 ID 또는 'null' 값으로 필터" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "조립 부품이 활성 상태" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "조립 부품을 추적할 수 있음" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "조립 부품을 테스트할 수 있음" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "구성 부품이 활성 상태" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "구성 부품을 추적할 수 있음" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "구성 부품을 테스트할 수 있음" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "구성 부품이 조립품임" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "구성 부품이 가상 부품임" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "사용 가능한 재고 있음" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "사용" @@ -5833,7 +5834,7 @@ msgstr "부품 카테고리" msgid "Part Categories" msgstr "부품 카테고리" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "기본 위치" @@ -5882,632 +5883,656 @@ msgstr "기본값" msgid "Default Parameter Value" msgstr "기본 매개변수 값" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "부품" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "잠긴 부품의 매개변수는 삭제할 수 없습니다" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "잠긴 부품의 매개변수는 수정할 수 없습니다" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "잠겨 있어 이 부품을 삭제할 수 없습니다" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "여전히 활성 상태라 이 부품을 삭제할 수 없습니다" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "조립품에 사용 중이라 이 부품을 삭제할 수 없습니다" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "부품 '{self}'은(는) '{parent}'의 BOM에 사용할 수 없습니다(순환 참조)" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "부품 '{parent}'이(가) '{self}'의 BOM에 사용되고 있습니다(순환 참조)" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN은 정규식 패턴 {pattern}과 일치해야 합니다" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "부품은 자기 자신의 개정이 될 수 없습니다" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "개정으로 표시된 부품에는 개정 코드가 지정되어야 합니다" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "개정은 조립 부품에만 허용됩니다" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "템플릿 부품의 개정을 만들 수 없습니다" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "상위 부품은 동일한 템플릿을 가리켜야 합니다" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "이 일련번호의 재고 항목이 이미 존재합니다" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "부품 설정에서 중복 IPN은 허용되지 않습니다" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "중복된 부품 개정이 이미 존재합니다." -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "이 이름, IPN 및 개정의 부품이 이미 존재합니다." -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "부품은 구조 부품 카테고리에 할당할 수 없습니다!" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "부품 이름" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "템플릿 여부" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "이 부품은 템플릿 부품인가요?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "이 부품은 다른 부품의 변형(Variant)인가요?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "변형 대상" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "부품 설명(선택)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "키워드" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "검색 결과에서 가시성을 높이기 위한 부품 키워드" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "부품 카테고리" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "부품 개정 또는 버전 번호" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "개정" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "이 부품은 다른 부품의 개정인가요?" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "개정 대상" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "이 항목은 보통 어디에 보관되나요?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "기본 만료" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "이 부품의 재고 항목 만료 기간(일)" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "최소 재고" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "허용되는 최소 재고 수준" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "이 부품의 측정 단위" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "이 부품을 다른 부품으로 조립/제작할 수 있나요?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "이 부품을 사용해 다른 부품을 제작할 수 있나요?" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "이 부품에 고유 항목 추적 기능이 있나요?" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "이 부품에 대한 테스트 결과를 기록할 수 있나요?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "이 부품을 외부 공급업체에서 구매할 수 있나요?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "이 부품을 고객에게 판매할 수 있나요?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "이 부품이 활성 상태인가요?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "잠긴 부품은 편집할 수 없습니다" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "소프트웨어 제품이나 라이선스 같은 가상 부품인가요?" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "BOM 검증됨" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "이 부품의 BOM이 유효한가요?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "BOM 체크섬" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "저장된 BOM 체크섬" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "BOM 검증자" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "BOM 검증 날짜" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "생성 사용자" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "이 부품의 책임 소유자" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "판매 배수" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "가격 계산 캐시에 사용되는 통화" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "최소 BOM 비용" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "구성 부품의 최소 비용" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "최대 BOM 비용" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "구성 부품의 최대 비용" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "최소 구매 비용" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "과거 구매 비용의 최소값" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "최대 구매 비용" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "과거 구매 비용의 최대값" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "최소 내부 가격" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "내부 가격 구간에 기반한 최소 비용" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "최대 내부 가격" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "내부 가격 구간에 기반한 최대 비용" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "최소 공급업체 가격" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "외부 공급업체로부터의 최소 가격" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "최대 공급업체 가격" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "외부 공급업체로부터의 최대 가격" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "최소 변형 비용" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "변형 부품의 계산된 최소 비용" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "최대 변형 비용" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "변형 부품의 계산된 최대 비용" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "최소 비용" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "최소 비용 재정의" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "최대 비용" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "최대 비용 재정의" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "계산된 전체 최소 비용" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "계산된 전체 최대 비용" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "최소 판매 가격" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "가격 구간에 기반한 최소 판매 가격" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "최대 판매 가격" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "가격 구간에 기반한 최대 판매 가격" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "최소 판매 비용" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "과거 판매 가격의 최소값" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "최대 판매 비용" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "과거 판매 가격의 최대값" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "재고 조사 대상 부품" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "항목 수" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "재고 조사 시점의 개별 재고 항목 수" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "재고 조사 시점의 사용 가능한 총 재고" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "날짜" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "재고 조사가 수행된 날짜" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "최소 재고 비용" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "보유 재고의 추정 최소 비용" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "최대 재고 비용" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "보유 재고의 추정 최대 비용" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "부품 판매 가격 구간" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "부품 테스트 템플릿" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "템플릿 이름이 올바르지 않습니다 - 영숫자 문자를 최소 1개 포함해야 합니다" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "테스트 템플릿은 테스트 가능한 부품에만 만들 수 있습니다" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "같은 키의 테스트 템플릿이 이 부품에 이미 존재합니다" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "테스트 이름" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "테스트 이름을 입력하세요" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "테스트 키" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "테스트를 위한 단순화된 키" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "테스트 설명" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "이 테스트에 대한 설명을 입력하세요" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "이 테스트가 활성화되어 있나요?" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "필수" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "이 테스트는 통과가 필수인가요?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "값 필요" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "테스트 결과를 추가할 때 값이 필요한가요?" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "첨부 필요" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "테스트 결과를 추가할 때 파일 첨부가 필요한가요?" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "이 테스트의 유효한 선택지(쉼표로 구분)" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "수량은 0 이상이어야 합니다" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "조립품이 잠겨 있어 BOM 항목을 수정할 수 없습니다" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "변형 조립품이 잠겨 있어 BOM 항목을 수정할 수 없습니다" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "상위 부품을 선택하세요" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "하위 부품" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "BOM에 사용할 부품을 선택하세요" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "이 BOM 항목의 BOM 수량" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "이 BOM 항목은 선택 사항입니다" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "이 BOM 항목은 소모품입니다(제작 주문에서 추적되지 않음)" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "설정 수량" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "설정 손실을 고려해 제작에 추가로 필요한 수량" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "손실률" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "제작 손실률 추정치(백분율, 0-100)" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "반올림 배수" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "필요 생산 수량을 이 값의 가장 가까운 배수로 올림합니다" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "BOM 항목 참조" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "BOM 항목 메모" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "체크섬" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "BOM 라인 체크섬" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "검증됨" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "이 BOM 항목이 검증되었습니다" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "상속됨" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "이 BOM 항목은 변형 부품의 BOM에 상속됩니다" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "변형 부품의 재고 항목을 이 BOM 항목에 사용할 수 있습니다" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "추적 가능한 부품의 수량은 정수여야 합니다" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "하위 부품을 지정해야 합니다" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "BOM 항목 대체품" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "대체 부품은 기준 부품과 같을 수 없습니다" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "상위 BOM 항목" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "대체 부품" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "부품 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "부품 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "관련 부품 선택" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "이 관계에 대한 메모" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "부품과 자기 자신 사이에는 부품 관계를 만들 수 없습니다" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "중복된 관계가 이미 존재합니다" @@ -6627,239 +6652,243 @@ msgstr "이 MPN과 일치하는 제조사 부품이 이미 존재합니다" msgid "Supplier part matching this SKU already exists" msgstr "이 SKU와 일치하는 공급업체 부품이 이미 존재합니다" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "카테고리 이름" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "제작 중" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "현재 생산 중인 이 부품의 수량" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "제작 예정인 이 부품의 미완료 수량" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "재고 항목" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "개정" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "총 재고" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "미할당 재고" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "변형 재고" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "부품 복제" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "다른 부품에서 초기 데이터를 복사합니다" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "초기 재고" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "초기 재고 수량과 함께 부품을 생성합니다" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "공급업체 정보" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "이 부품에 대한 초기 공급업체 정보를 추가합니다" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "카테고리 매개변수 복사" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "선택한 부품 카테고리의 매개변수 템플릿을 복사합니다" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "기존 이미지" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "기존 부품 이미지의 파일명" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "이미지 파일이 존재하지 않습니다" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "전체 자재 명세서(BOM) 검증" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "제작 가능" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "제작 주문에 필요" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "제작 주문에 할당됨" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "판매 주문에 필요" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "판매 주문에 할당됨" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "부품 IPN" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "부품 설명" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "재고 조사 정보를 생성할 부품을 선택하세요(및 모든 변형 부품)." -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "해당 카테고리(및 하위 카테고리)의 모든 부품을 포함할 카테고리를 선택하세요" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "해당 위치(하위 위치 포함)에 재고가 있는 모든 부품을 포함할 위치를 선택하세요" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "재고 조사 항목 생성" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "선택한 부품에 대한 재고 조사 항목을 저장합니다" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "보고서 생성" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "선택한 부품에 대한 재고 조사 보고서를 생성합니다" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "최소 가격" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "계산된 최소 가격 값을 재정의합니다" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "최소 가격 통화" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "최대 가격" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "계산된 최대 가격 값을 재정의합니다" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "최대 가격 통화" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "업데이트" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "이 부품의 가격 정보를 업데이트합니다" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "제공된 통화를 {default_currency}(으)로 변환할 수 없습니다" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "최소 가격은 최대 가격보다 클 수 없습니다" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "최대 가격은 최소 가격보다 작을 수 없습니다" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" -msgstr "수량은 0 이상이어야 합니다" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" +msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "상위 조립품을 선택하세요" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "구성 부품을 선택하세요" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "BOM을 복사할 부품을 선택하세요" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "기존 데이터 제거" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "복사하기 전에 기존 BOM 항목을 제거합니다" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "상속 항목 포함" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "템플릿 부품에서 상속된 BOM 항목 포함" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "잘못된 행 건너뛰기" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "이 옵션을 사용하면 잘못된 행을 건너뜁니다" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "대체 부품 복사" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "BOM 항목을 복제할 때 대체 부품도 복사" diff --git a/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po index 98634660e9..04baa41f54 100644 --- a/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Lithuanian\n" "Language: lt_LT\n" @@ -89,6 +89,7 @@ msgstr "Nepavyko konvertuoti {original} į {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Pateiktas neteisingas kiekis" @@ -270,7 +271,7 @@ msgstr "Neteisingas pasirinkimas" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Pavadinimas" @@ -278,7 +279,7 @@ msgstr "Pavadinimas" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Serveris užfiksavo klaidą." msgid "Image" msgstr "Paveikslėlis" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Turi būti teisingas skaičius" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Valiuta" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Pasirinkite valiutą iš galimų variantų" @@ -571,11 +572,11 @@ msgstr "Įtraukti variantus" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "Įtraukti variantus" msgid "Part" msgstr "Detalė" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Kategorija" @@ -669,16 +670,16 @@ msgstr "Neįtraukti medžio struktūros" msgid "Build must be cancelled before it can be deleted" msgstr "Prieš ištrinant gamybą, ji turi būti atšaukta" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Sunaudojama" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Pasirinktinai" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Surinkimas" @@ -687,7 +688,7 @@ msgstr "Surinkimas" msgid "Tracked" msgstr "Sekama" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Testuojama" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Prieinama" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "Užsakyta" @@ -731,7 +732,7 @@ msgstr "Gamybos užsakymas" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Gamybos užsakymas" msgid "Location" msgstr "Vieta" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "Gamybos užsakymo nuoroda" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Šios gamybos partijos kodas" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Sukūrimo data" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Vartotojas, kuris išdavė šį gamybos užsakymą" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Atsakingas" @@ -921,7 +922,7 @@ msgstr "Vartotojas ar grupė, atsakinga už šį gamybos užsakymą" msgid "External Link" msgstr "Išorinė nuoroda" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Nuoroda į išorinį URL" @@ -983,7 +984,7 @@ msgstr "Gamybos rezultatas neatitinka gamybos užsakymo" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Kiekis turi būti didesnis nei nulis" @@ -1020,7 +1021,7 @@ msgstr "Gamybos objektas" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Paskirties atsargų elementas" msgid "Build Level" msgstr "Gamybos lygis" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Detalės pavadinimas" @@ -1404,7 +1405,7 @@ msgstr "Gamybos nuoroda" msgid "Part Category Name" msgstr "Detalės kategorijos pavadinimas" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Sekama" @@ -1412,29 +1413,29 @@ msgstr "Sekama" msgid "Inherited" msgstr "Paveldėta" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Leisti variantus" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "BOM elementas" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "Gamyboje" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Išorinės atsargos" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Prieinamos atsargos" @@ -1617,7 +1618,7 @@ msgstr "Raktas turi būti unikalus" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Šio webhook'o pavadinimas" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktyvus" @@ -1731,7 +1732,7 @@ msgstr "Pavadinimas" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Nuoroda" @@ -1962,7 +1963,7 @@ msgstr "Pasirinkimų sąrašo pavadinimas" msgid "Description of the selection list" msgstr "Pasirinkimų sąrašo aprašymas" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Užrakinta" @@ -2058,7 +2059,7 @@ msgstr "Žymimojo laukelio parametrai negali turėti matavimo vienetų" msgid "Checkbox parameters cannot have choices" msgstr "Žymimojo laukelio parametrai negali turėti pasirinkimų" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "Pasirinkimai turi būti unikalūs" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "Parametro pavadinimas" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Vienetai" @@ -2094,7 +2095,7 @@ msgstr "Žymimasis laukelis" msgid "Is this parameter a checkbox?" msgstr "Ar šis parametras yra žymimasis laukelis?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Pasirinkimai" @@ -2106,7 +2107,7 @@ msgstr "Galimi pasirinkimai šiam parametrui (atskirti kableliais)" msgid "Selection list for this parameter" msgstr "Pasirinkimų sąrašas šiam parametrui" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Įjungta" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "Parametro reikšmė" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "Detalės pagal nutylėjimą yra šablonai" msgid "Parts can be assembled from other components by default" msgstr "Detalės pagal nutylėjimą gali būti surenkamos iš kitų komponentų" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Komponentas" @@ -2868,7 +2869,7 @@ msgstr "Komponentas" msgid "Parts can be used as sub-components by default" msgstr "Detalės pagal nutylėjimą gali būti naudojamos kaip sub-komponentai" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Galima įsigyti" @@ -2876,7 +2877,7 @@ msgstr "Galima įsigyti" msgid "Parts are purchaseable by default" msgstr "Detalės pagal nutylėjimą gali būti įsigyjamos" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Parduodama" @@ -2888,7 +2889,7 @@ msgstr "Detalės pagal nutylėjimą gali būti parduodamos" msgid "Parts are trackable by default" msgstr "Detalės pagal nutylėjimą gali būti sekamos" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Virtuali" @@ -4298,11 +4299,11 @@ msgstr "Išorinės nuorodos į tiekėjo detalės URL" msgid "Supplier part description" msgstr "Tiekėjo detalės aprašymas" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "bazinė kaina" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimalus mokestis (pvz., sandėliavimo mokestis)" @@ -4323,7 +4324,7 @@ msgstr "Pakuotės kiekis" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Bendras kiekis vienoje pakuotėje. Palikite tuščią, jei prekė tiekiama po vieną." -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "daugiklis" @@ -4355,7 +4356,7 @@ msgstr "Numatytoji valiuta, naudojama šiam tiekėjui" msgid "Company Name" msgstr "Įmonės pavadinimas" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "Sandėlyje" @@ -4519,7 +4520,7 @@ msgstr "Pradiniai eilutės duomenys" msgid "Errors" msgstr "Klaidos" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Galiojantis" @@ -5488,7 +5489,7 @@ msgstr "Sujungti elementus su ta pačia detale, paskirtimi ir tiksline data į v msgid "SKU" msgstr "SKU" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Vidinis detalės numeris" @@ -5764,63 +5765,63 @@ msgstr "Yra versija" msgid "Has Revisions" msgstr "Turi versijų" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "BOM galiojantis" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "Surinkimo detalė gali būti testuojama" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "Komponento detalė gali būti testuojama" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "Naudoja" @@ -5833,7 +5834,7 @@ msgstr "Detalių kategorija" msgid "Part Categories" msgstr "Detalių kategorijos" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Numatytoji vieta" @@ -5882,632 +5883,656 @@ msgstr "Numatytoji reikšmė" msgid "Default Parameter Value" msgstr "Numatytoji parametro reikšmė" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Detalės" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "Negalima ištrinti šios detalės, nes ji užrakinta" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "Negalima ištrinti šios detalės, nes ji vis dar aktyvi" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "Negalima ištrinti šios detalės, nes ji naudojama sirinkime" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Detalė „{self}“ negali būti naudojama detalių sąraše „{parent}“ (rekursyviai)" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Detalė „{parent}“ naudojama detalių sąraše „{self}“ (rekursyviai)" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN turi atitikti regex šabloną {pattern}" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "Detalė negali būti savo pačios versija" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "Versijos leidžiamos tik surinkimo detalėms" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "Negalima sukurti šabloninės detalės versijos" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "Pagrindinė detalė turi būti susieta su tuo pačiu šablonu" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "Atsargų elementas su šiuo serijos numeriu jau egzistuoja" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dublikatų detalių nustatymuose naudoti negalima" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "Tokia detalės versija jau egzistuoja." -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "Detalė su tokiu pavadinimu, IPN ir versija jau egzistuoja." -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "Detalės negali būti priskirtos struktūrinėms detalių kategorijoms!" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Detalės pavadinimas" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Yra šablonas" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "Ar ši detalė yra šabloninė detalė?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "Ar ši detalė yra kitos detalės variantas?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Variantas iš" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Detalės aprašymas (neprivalomas)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Raktažodžiai" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "Detalės raktažodžiai, skirti pagerinti matomumą paieškos rezultatuose" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Detalės kategorija" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "Detalės versija arba numeris" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Versija" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "Ar ši detalė yra kitos detalės versija?" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "Versija iš" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "Kur ši detalė paprastai laikoma?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Numatytasis galiojimo laikas" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "Šios detalės atsargų galiojimo laikas (dienomis)" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Minimalus atsargų kiekis" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "Mažiausias leidžiamas atsargų kiekis" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Šios detalės matavimo vienetai" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "Ar ši detalė gali būti pagaminta iš kitų detalių?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "Ar ši detalė gali būti naudojama kitoms detalėms gaminti?" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "Ar ši detalė turi unikalių vienetų sekimą?" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "Ar šiai detalei gali būti priskirti bandymų rezultatai?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "Ar ši detalė gali būti perkama iš išorinių tiekėjų?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "Ar ši detalė gali būti parduodama klientams?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "Ar ši detalė yra aktyvi?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "Užrakintos detalės negali būti redaguojamos" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ar tai virtuali detalė, pavyzdžiui, programinė įranga ar licencija?" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "BOM kontrolinė suma" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "Išsaugota BOM kontrolinė suma" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "Detalių sąrašą patikrino" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "Detalių sąrašo patikrinimo data" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Sukūręs vartotojas" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "Atsakingas vartotojas už šią detalę" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Parduodamas kiekis" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "Valiuta, naudojama kainų skaičiavimams kaupti" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "Minimali BOM kaina" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "Minimali komponentų detalių kaina" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "Maksimali BOM kaina" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "Maksimali komponentų detalių kaina" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "Minimali pirkimo kaina" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "Mažiausia istorinė pirkimo kaina" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "Maksimali pirkimo kaina" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "Didžiausia istorinė pirkimo kaina" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "Minimali vidinė kaina" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "Mažiausia kaina pagal vidinius kainų intervalus" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "Maksimali vidinė kaina" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "Didžiausia kaina pagal vidinius kainų intervalus" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "Mažiausia tiekėjo kaina" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "Mažiausia detalės kaina iš išorinių tiekėjų" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "Didžiausia tiekėjo kaina" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "Didžiausia detalės kaina iš išorinių tiekėjų" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "Mažiausia varianto kaina" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "Apskaičiuota minimali variantų detalių kaina" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "Didžiausia varianto kaina" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "Apskaičiuota didžiausia variantų detalių kaina" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "Minimali kaina" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "Nepaisyti minimalios kainos" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "Maksimali kaina" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "Nepaisyti maksimalios kainos" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "Apskaičiuota bendra minimali kaina" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "Apskaičiuota bendra maksimali kaina" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "Minimali pardavimo kaina" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "Mažiausia pardavimo kaina pagal kainų intervalus" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "Didžiausia pardavimo kaina" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "Didžiausia pardavimo kaina pagal kainų intervalus" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "Mažiausia pardavimo kaina" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "Mažiausia istorinė pardavimo kaina" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "Didžiausia pardavimo kaina" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "Didžiausia istorinė pardavimo kaina" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "Detalė inventorizacijai" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "Vienetų skaičius" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "Atsargų įrašų skaičius inventorizacijos metu" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "Bendras prieinamas atsargų kiekis inventorizacijos metu" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Data" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "Inventorizacijos atlikimo data" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "Minimali atsargų kaina" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "Apytikslė minimali turimų atsargų kaina" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "Maksimali atsargų kaina" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "Apytikslė maksimali turimų atsargų kaina" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "Detalės kainų intervalai pardavimui" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "Detalės bandymų šablonas" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Netinkamas šablono pavadinimas - turi būti bent vienas raidinis ar skaitinis simbolis" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "Bandymų šablonus galima kurti tik testuojamoms detalėms" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "Detalė jau turi bandymų šabloną su tokiu pačiu raktu" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Bandymo pavadinimas" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "Įveskite bandymo pavadinimą" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "Bandymo raktas" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "Supaprastintas bandymo raktas" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Bandymo aprašymas" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Įveskite šio bandymo aprašymą" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "Ar šis bandymas įjungtas?" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Privalomas" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "Ar šį bandymą būtina išlaikyti?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Reikalauja reikšmės" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "Ar šiam bandymui reikia įvesti reikšmę pridedant rezultatą?" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Reikalauja priedo" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "Ar šiam bandymui reikia pridėti failą su rezultatu?" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "Galimi pasirinkimai šiam bandymui (atskirti kableliais)" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "BOM elemento keisti negalima - surinkimas užrakintas" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "BOM elemento keisti negalima - varianto surinkimas užrakintas" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Pasirinkite pirminę detalę" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Pavaldi detalė" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "Pasirinkite detalę, naudojamą BOM" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "BOM reikalingas šios detalės kiekis" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Šis BOM elementas yra pasirenkamas" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Šis BOM elementas yra sunaudojamas (nesekamas gamybos užsakymuose)" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "BOM nuoroda" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "BOM pastabos" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Kontrolinė suma" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "BOM eilutės kontrolinė suma" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Patvirtinta" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "Šis BOM elementas patvirtintas" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "Paveldima" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Šį BOM elementą paveldi variantų sąrašai" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Šiam BOM elementui galima naudoti variantinių detalių atsargas" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "Sekamoms detalėms kiekis turi būti sveikasis skaičius" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "Turi būti nurodyta pavaldi detalė" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "BOM elemento pakaitalas" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "Pakaitinė detalė negali būti tokia pati kaip pagrindinė detalė" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "Pagrindinis BOM elementas" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Pakaitinė detalė" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Detalė 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Detalė 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "Pasirinkite susijusią detalę" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "Pastaba šiam ryšiui" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "Detalių ryšio negalima sukurti tarp detalės ir jos pačios" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "Toks ryšys jau egzistuoja" @@ -6627,239 +6652,243 @@ msgstr "Detalė su šiuo gamintojo numeriu (MPN) jau egzistuoja" msgid "Supplier part matching this SKU already exists" msgstr "Tiekėjo detalė su šiuo SKU jau egzistuoja" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Kategorijos pavadinimas" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "Surinkimas" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Atsargos" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "Versijos" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Bendros atsargos" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "Nepriskirtos atsargos" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "Variantų atsargos" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Kopijuoti detalę" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "Kopijuoti pradinius duomenis iš kitos detalės" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Pradinės atsargos" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "Sukurti detalę su pradiniu atsargų kiekiu" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Tiekėjo informacija" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "Pridėti pradinę tiekėjo informaciją šiai detalei" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "Kopijuoti kategorijos parametrus" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "Kopijuoti parametrų šablonus iš pasirinktos detalių kategorijos" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Esamas paveikslėlis" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "Esamos detalės paveikslėlio failo pavadinimas" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "Paveikslėlio failas neegzistuoja" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "Patvirtinti visą komplektavimo žiniaraštį" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "Galima surinkti" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Mažiausia kaina" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "Pakeisti apskaičiuotą mažiausią kainą" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "Mažiausios kainos valiuta" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Didžiausia kaina" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "Pakeisti apskaičiuotą didžiausią kainą" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "Didžiausios kainos valiuta" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Atnaujinti" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "Atnaujinti šios detalės kainodarą" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Nepavyko konvertuoti iš nurodytų valiutų į {default_currency}" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "Mažiausia kaina negali būti didesnė už didžiausią kainą" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "Didžiausia kaina negali būti mažesnė už mažiausią kainą" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "Pasirinkite pirminį surinkimą" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "Pasirinkite komponentinę detalę" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "Pasirinkite detalę, iš kurios kopijuoti BOM" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "Pašalinti esamus duomenis" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "Pašalinti esamus BOM elementus prieš kopijuojant" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "Įtraukti paveldėtus" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "Įtraukti BOM elementus, paveldėtus iš šabloninių detalių" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Praleisti netinkamas eilutes" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Įjunkite šią parinktį, jei norite praleisti netinkamas eilutes" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "Kopijuoti pakaitines detales" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopijuoti pakaitines detales, kai kopijuojami BOM elementai" diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index 57049aa116..daa66a4c3c 100644 --- a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -89,6 +89,7 @@ msgstr "Nevarēja konvertēt {original} par {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Norādītais daudzums nav derīgs" @@ -270,7 +271,7 @@ msgstr "" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "" @@ -278,7 +279,7 @@ msgstr "" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +688,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "" @@ -711,8 +712,8 @@ msgid "Available" msgstr "" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "" @@ -731,7 +732,7 @@ msgstr "" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "" msgid "Location" msgstr "" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -921,7 +922,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "" @@ -983,7 +984,7 @@ msgstr "" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" @@ -1020,7 +1021,7 @@ msgstr "" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "" @@ -1412,29 +1413,29 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "" @@ -1617,7 +1618,7 @@ msgstr "" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1731,7 +1732,7 @@ msgstr "" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2094,7 +2095,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "" @@ -2868,7 +2869,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "" @@ -2876,7 +2877,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "" @@ -2888,7 +2889,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4323,7 +4324,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4355,7 +4356,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "" msgid "Part Categories" msgstr "" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5882,632 +5883,656 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index 48a502e1da..279c61c15e 100644 --- a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -89,6 +89,7 @@ msgstr "{original} kon niet worden omgezet naar {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" @@ -270,7 +271,7 @@ msgstr "Ongeldige keuze" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Naam" @@ -278,7 +279,7 @@ msgstr "Naam" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Er is een fout gelogd door de server." msgid "Image" msgstr "Afbeelding" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Selecteer valuta uit beschikbare opties" @@ -571,11 +572,11 @@ msgstr "Inclusief varianten" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "Inclusief varianten" msgid "Part" msgstr "Onderdeel" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Categorie" @@ -669,16 +670,16 @@ msgstr "Boomstructuur uitsluiten" msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Verbruiksartikelen" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Optioneel" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Samenstelling" @@ -687,7 +688,7 @@ msgstr "Samenstelling" msgid "Tracked" msgstr "Gevolgd" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Testbaar" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Beschikbaar" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "In bestelling" @@ -731,7 +732,7 @@ msgstr "Productieorder" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Productieorder" msgid "Location" msgstr "Locatie" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "Uitvoer" @@ -785,7 +786,7 @@ msgstr "Productieorderreferentie" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Aanmaakdatum" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Verantwoordelijke" @@ -921,7 +922,7 @@ msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht" msgid "External Link" msgstr "Externe Link" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Link naar externe URL" @@ -983,7 +984,7 @@ msgstr "Productuitvoer komt niet overeen met de Productieorder" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" @@ -1020,7 +1021,7 @@ msgstr "Bouw object" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Bestemming voorraadartikel" msgid "Build Level" msgstr "Bouw level" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Onderdeel naam" @@ -1404,7 +1405,7 @@ msgstr "Bouw referentie" msgid "Part Category Name" msgstr "Naam categorie onderdeel" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Volgbaar" @@ -1412,29 +1413,29 @@ msgstr "Volgbaar" msgid "Inherited" msgstr "Overgenomen" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Varianten toestaan" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "Stuklijstartikel" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "In productie" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "Gepland om te bouwen" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Externe voorraad" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Beschikbare Voorraad" @@ -1617,7 +1618,7 @@ msgstr "Sleutelreeks moet uniek zijn" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Naam van deze webhook" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Actief" @@ -1731,7 +1732,7 @@ msgstr "Titel" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Koppeling" @@ -1962,7 +1963,7 @@ msgstr "Naam van de selectielijst" msgid "Description of the selection list" msgstr "Beschrijving van de selectielijst" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Vergrendeld" @@ -2058,7 +2059,7 @@ msgstr "Checkbox parameters kunnen geen eenheden bevatten" msgid "Checkbox parameters cannot have choices" msgstr "Checkbox parameters kunnen geen eenheden bevatten" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "Keuzes moeten uniek zijn" @@ -2074,7 +2075,7 @@ msgstr "Doelmodeltype voor dit parametersjabloon" msgid "Parameter Name" msgstr "Parameternaam" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Eenheden" @@ -2094,7 +2095,7 @@ msgstr "Selectievakje" msgid "Is this parameter a checkbox?" msgstr "Is deze parameter een selectievak?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Keuzes" @@ -2106,7 +2107,7 @@ msgstr "Geldige keuzes voor deze parameter (komma gescheiden)" msgid "Selection list for this parameter" msgstr "Lijst met selecties voor deze parameter" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Ingeschakeld" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "Parameterwaarde" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "Onderdelen zijn standaard sjablonen" msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Onderdeel" @@ -2868,7 +2869,7 @@ msgstr "Onderdeel" msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Koopbaar" @@ -2876,7 +2877,7 @@ msgstr "Koopbaar" msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Verkoopbaar" @@ -2888,7 +2889,7 @@ msgstr "Onderdelen kunnen standaard verkocht worden" msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Virtueel" @@ -4298,11 +4299,11 @@ msgstr "URL voor link externe leveranciers onderdeel" msgid "Supplier part description" msgstr "Omschrijving leveranciersdeel" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "basisprijs" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" @@ -4323,7 +4324,7 @@ msgstr "Pakket hoeveelheid" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Totale hoeveelheid geleverd in één pakket. Laat leeg voor enkele afzonderlijke items." -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "meerdere" @@ -4355,7 +4356,7 @@ msgstr "Standaardvaluta die gebruikt wordt voor deze leverancier" msgid "Company Name" msgstr "Bedrijfsnaam" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "Op voorraad" @@ -4519,7 +4520,7 @@ msgstr "Oorspronkelijke rij gegevens" msgid "Errors" msgstr "Fouten" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Geldig" @@ -5489,7 +5490,7 @@ msgstr "Items met hetzelfde onderdeel, bestemming en doeldatum samenvoegen in é msgid "SKU" msgstr "SKU" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Intern Onderdeelnummer" @@ -5765,63 +5766,63 @@ msgstr "Is revisie" msgid "Has Revisions" msgstr "Heeft revisies" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "BOM Valid" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "Cascade Categorieën" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "Indien waar, inclusief items op de onderliggende categorieën van de opgegeven categorie" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Filter op numerieke categorie-ID of de letterlijke 'null'" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "Bouw onderdeel is actief" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "Bouw onderdeel is te volgen" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "Assemblage deel is testbaar" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "Onderdeel is actief" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "Onderdeel is trackable" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "Component onderdeel is testbaar" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "Onderdeel is nog te bouwen" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "Onderdeel is virtueel" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "Heeft beschikbare voorraad" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "Gebruik" @@ -5834,7 +5835,7 @@ msgstr "Onderdeel Categorie" msgid "Part Categories" msgstr "Onderdeel Categorieën" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Standaard locatie" @@ -5883,632 +5884,656 @@ msgstr "Standaard waarde" msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Onderdelen" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "Kan parameters van een vergrendeld onderdeel niet verwijderen" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "Kan de parameters van een vergrendeld onderdeel niet wijzigen" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "Kan dit deel niet verwijderen omdat het vergrendeld is" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "Kan dit deel niet verwijderen omdat het nog actief is" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "Kan dit deel niet verwijderen omdat het in een groep gebruikt is" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "{self}' kan niet worden gebruikt in BOM voor '{parent}' (recursief)" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "{parent}' wordt gebruikt in BOM voor '{self}' (recursief)" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN moet overeenkomen met regex patroon {pattern}" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "Onderdeel kan geen herziening van zichzelf zijn" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "Herzieningen zijn alleen toegestaan voor assemblageonderdelen" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "Kan geen revisie maken van een sjabloon onderdeel" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "Bovenliggend onderdeel moet naar dezelfde sjabloon verwijzen" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "Voorraadartikel met dit serienummer bestaat al" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "Dubbele IPN niet toegestaan in deelinstellingen" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "Dubbele onderdeel revisie bestaat al." -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "Onderdeel met deze naam, IPN en Revisie bestaat al." -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "Onderdelen kunnen niet worden toegewezen aan categorieën van structurele onderdelen!" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Onderdeel naam" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Is een sjabloon" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "Is dit deel van een sjabloon?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "Is dit een variant van een ander deel?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Variant van" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Beschrijving (optioneel)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Sleutelwoorden" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "Deel sleutelwoorden om de zichtbaarheid van de zoekresultaten te verbeteren" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Onderdeel Categorie" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "Onderdeel revisie of versienummer" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Revisie" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "Is dit deel een herziening van een ander deel?" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "Revisie van" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "Waar wordt dit item normaal opgeslagen?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Standaard verval datum" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "Verlooptijd (in dagen) voor voorraadartikelen van dit deel" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Minimum voorraad" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "Minimaal toegelaten stock niveau" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Eenheden voor dit onderdeel" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "Kan dit onderdeel uit andere delen worden gebouwd?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "Kan dit onderdeel gebruikt worden om andere onderdelen te bouwen?" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "Heeft dit onderdeel een tracking voor unieke items?" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "Kunnen de testresultaten van dit onderdeel tegen dit onderdeel worden geregistreerd?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "Kan dit onderdeel worden gekocht van externe leveranciers?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "Kan dit onderdeel aan klanten worden verkocht?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "Is dit onderdeel actief?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "Vergrendelde onderdelen kunnen niet worden bewerkt" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "Is dit een virtueel onderdeel, zoals een softwareproduct of licentie?" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "Stuklijst BOM gecontroleerd" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "Is de BOM voor dit deel geldig?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "BOM checksum" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "Checksum van BOM opgeslagen" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "BOM gecontroleerd door" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "BOM gecontroleerd datum" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Aanmaken gebruiker" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "Eigenaar verantwoordelijk voor dit deel" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Verkopen van meerdere" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "Valuta die gebruikt wordt voor de cache berekeningen" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "Minimale BOM kosten" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "Minimale kosten van onderdelen" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "Maximale BOM kosten" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "Maximale kosten van onderdelen" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "Minimale aankoop kosten" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "Minimale historische aankoop kosten" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "Maximale aanschaf kosten" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "Maximum historische aankoop kosten" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "Minimale interne prijs" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "Minimale kosten op basis van interne prijsschommelingen" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "Maximale interne prijs" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "Maximale kosten gebaseerd op interne prijsvoordelen" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "Minimale leverancier prijs" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "Minimale prijs van onderdeel van externe leveranciers" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "Maximale leverancier prijs" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "Maximale prijs van onderdeel van externe leveranciers" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "Minimale variant kosten" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "Berekende minimale kosten van variant onderdelen" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "Maximale variant kosten" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "Berekende maximale kosten van variant onderdelen" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "Minimale kostprijs" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "Overschrijf minimale kosten" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "Maximale kosten" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "Overschrijf maximale kosten" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "Berekende minimale kosten" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "Berekende totale maximale kosten" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "Minimale verkoop prijs" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "Minimale verkoopprijs gebaseerd op prijsschommelingen" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "Maximale verkoop prijs" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "Maximale verkoopprijs gebaseerd op prijsschommelingen" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "Minimale verkoop prijs" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "Minimale historische verkoop prijs" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "Maximale verkoop prijs" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "Maximale historische verkoop prijs" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "Onderdeel voor voorraadcontrole" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "Getelde items" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "Aantal individuele voorraadvermeldingen op het moment van voorraadcontrole" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "Totale voorraad op het moment van voorraadcontrole" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Datum" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "Datum waarop voorraad werd uitgevoerd" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "Minimale voorraadprijs" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "Geschatte minimum kosten van de voorraad op de hand" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "Maximale voorraadkosten" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "Geschatte maximale kosten van de hand van voorraad" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "Periodieke verkoopprijs voor onderdelen" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "Sjabloon test onderdeel" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Ongeldige sjabloonnaam - moet minstens één alfanumeriek teken bevatten" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "Test sjablonen kunnen alleen worden gemaakt voor testbare onderdelen" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "Test template met dezelfde sleutel bestaat al voor een deel" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Test naam" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "Geef een naam op voor de test" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "Test sleutel" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "Vereenvoudigde sleutel voor de test" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Test beschrijving" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Voer beschrijving in voor deze test" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "Is deze test ingeschakeld?" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Vereist" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "Is deze test nodig om te doorlopen?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Waarde vereist" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "Heeft deze test een waarde nodig bij het toevoegen van een testresultaat?" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Vereist bijlage" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "Vereist deze test een bestandsbijlage bij het toevoegen van een testresultaat?" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "Geldige keuzes voor deze parameter (komma gescheiden)" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "BOM item kan niet worden gewijzigd - assemblage is vergrendeld " -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "BOM item kan niet worden gewijzigd - assemblage is vergrendeld" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Selecteer boven liggend onderdeel" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Sub onderdeel" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "Selecteer onderdeel dat moet worden gebruikt in BOM" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "BOM hoeveelheid voor dit BOM item" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Dit BOM item is optioneel" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Dit BOM item is verbruikbaar (het wordt niet bijgehouden in build orders)" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "Totale hoeveelheid" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "Extra benodigde hoeveelheid voor een build, rekening houdend met verliezen van de setup" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "Attriatie" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Geschatte uitstraling voor een gebouw, uitgedrukt in percentage (0-100)" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "Afronden meerdere" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "Afronden met omhoog vereiste productiehoeveelheid naar dichtstbijzijnde meerdere van deze waarde" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "Artikelregel referentie" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "BOM item notities" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Controle som" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "BOM lijn controle som" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Goedgekeurd" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "Dit BOM item is goedgekeurd" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "Wordt overgenomen" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Dit BOM item wordt overgenomen door BOMs voor variant onderdelen" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Voorraaditems voor variant onderdelen kunnen worden gebruikt voor dit BOM artikel" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "Hoeveelheid moet een geheel getal zijn voor trackable onderdelen" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "Onderdeel moet gespecificeerd worden" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "BOM Item vervangingen bewerken" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "Vervanging onderdeel kan niet hetzelfde zijn als het hoofddeel" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "Bovenliggend BOM item" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Vervanging onderdeel" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Eerste deel" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Tweede deel" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "Selecteer gerelateerd onderdeel" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "Opmerking voor deze relatie" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "Onderdeel relatie kan niet worden gecreëerd tussen een deel en zichzelf" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "Dubbele relatie bestaat al" @@ -6628,239 +6653,243 @@ msgstr "Fabrikant deel dat overeenkomt met deze MPN bestaat al" msgid "Supplier part matching this SKU already exists" msgstr "Leveranciersdeel dat overeenkomt met deze SKU bestaat al" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Categorie naam" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "Bouwen" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "Hoeveelheid van dit deel dat momenteel in productie is" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Er zal een onuitputtelijke hoeveelheid van dit deel worden gebouwd" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Voorraadartikelen" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "Revisies" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Totale Voorraad" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "Niet toegewezen voorraad" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "Variant voorraad" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Dupliceer onderdeel" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "Kopieer eerste gegevens uit een ander onderdeel" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Eerste voorraad" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "Maak onderdeel met eerste voorraad" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Leveranciersgegevens" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "Aanvankelijke leveranciersinformatie voor dit deel toevoegen" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "Categorie parameters kopiëren" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "Parameter sjablonen kopiëren uit geselecteerde onderdeel categorie" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Bestaande afbeelding" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "Bestandsnaam van een bestaande onderdeel afbeelding" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "Afbeeldingsbestand bestaat niet" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "Valideer de gehele materiaalbon" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "Kan bouwen" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "Vereist voor bouworders" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "Toegewezen aan bouwen van orders" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "Vereist voor verkooporders" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "Toegewezen aan verkooporders" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "IPN onderdeel" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "Onderdeel omschrijving" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "Rapport Maken" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Minimale prijs" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "Overschrijf berekende waarde voor minimale prijs" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "Minimale prijs valuta" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Maximale prijs" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "Overschrijf de berekende waarde voor de maximale prijs" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "Maximale prijs valuta" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Bijwerken" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "Prijzen voor dit onderdeel bijwerken" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Kan niet converteren van de verstrekte valuta naar {default_currency}" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "Minimumprijs mag niet hoger zijn dan de maximale prijs" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "Maximale prijs mag niet lager zijn dan de minimale prijs" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "Selecteer de bovenliggende assemblage" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "Selecteer het onderdeel" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "Selecteer onderdeel om BOM van te kopiëren" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "Bestaande gegevens verwijderen" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "Verwijder bestaande BOM items voor het kopiëren" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "Inclusief overgenomen" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "Inclusief stuklijst BOM items die worden overgenomen van getemplated onderdelen" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Ongeldige regels overslaan" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Schakel deze optie in om ongeldige rijen over te slaan" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "Verwijder vervangend deel" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopieer vervangende onderdelen bij dubbele stuklijst BOM items" diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index b404127036..02ce1aecd0 100644 --- a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -89,6 +89,7 @@ msgstr "Kunne ikke konvertere {original} til {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" @@ -270,7 +271,7 @@ msgstr "Ugyldig valg" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Navn" @@ -278,7 +279,7 @@ msgstr "Navn" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "En feil har blitt logget av serveren." msgid "Image" msgstr "Bilde" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Må være et gyldig tall" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Velg valuta ut fra tilgjengelige alternativer" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Kategori" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Produksjonen må avbrytes før den kan slettes" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Valgfritt" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Sammenstilling" @@ -687,7 +688,7 @@ msgstr "Sammenstilling" msgid "Tracked" msgstr "Spores" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Tilgjengelig" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "I bestilling" @@ -731,7 +732,7 @@ msgstr "Produksjonsordre" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Produksjonsordre" msgid "Location" msgstr "Plassering" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "Produksjonsordre-referanse" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Batchkode for denne produksjonsartikkelen" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Opprettelsesdato" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Brukeren som utstedte denne produksjonsordren" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Ansvarlig" @@ -921,7 +922,7 @@ msgstr "Bruker eller gruppe ansvarlig for produksjonsordren" msgid "External Link" msgstr "Ekstern lenke" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Lenke til ekstern URL" @@ -983,7 +984,7 @@ msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" @@ -1020,7 +1021,7 @@ msgstr "Produksjonsobjekt" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Lagervare for montering" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Delnavn" @@ -1404,7 +1405,7 @@ msgstr "Produksjonsreferanse" msgid "Part Category Name" msgstr "Delkategorinavn" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Sporbar" @@ -1412,29 +1413,29 @@ msgstr "Sporbar" msgid "Inherited" msgstr "Nedarvet" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Tillat Varianter" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "BOM-artikkel" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "I produksjon" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Ekstern lagerbeholdning" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Tilgjengelig lagerbeholdning" @@ -1617,7 +1618,7 @@ msgstr "Nøkkelstreng må være unik" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Navn for webhooken" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktiv" @@ -1731,7 +1732,7 @@ msgstr "Tittel" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Lenke" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2058,7 +2059,7 @@ msgstr "Sjekkboksparameter kan ikke ha enheter" msgid "Checkbox parameters cannot have choices" msgstr "Sjekkboksparameter kan ikke ha valg" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "Valg må være unike" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "Parameternavn" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Enheter" @@ -2094,7 +2095,7 @@ msgstr "Sjekkboks" msgid "Is this parameter a checkbox?" msgstr "Er dette parameteret en sjekkboks?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Valg" @@ -2106,7 +2107,7 @@ msgstr "Gyldige valg for denne parameteren (kommaseparert)" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Aktivert" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "Parameterverdi" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "Deler er maler som standard" msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Komponent" @@ -2868,7 +2869,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Kjøpbar" @@ -2876,7 +2877,7 @@ msgstr "Kjøpbar" msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Salgbar" @@ -2888,7 +2889,7 @@ msgstr "Deler er salgbare som standard" msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Virtuelle" @@ -4298,11 +4299,11 @@ msgstr "URL for ekstern leverandørdel-lenke" msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift)" @@ -4323,7 +4324,7 @@ msgstr "Pakkeantall" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Totalt antall i en enkelt pakke. La være tom for enkeltenheter." -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "flere" @@ -4355,7 +4356,7 @@ msgstr "Standardvaluta brukt for denne leverandøren" msgid "Company Name" msgstr "Bedriftsnavn" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "På lager" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Gyldig" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "SKU-kode" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Internt delnummer" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "Delkategori" msgid "Part Categories" msgstr "Delkategorier" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Standard plassering" @@ -5882,632 +5883,656 @@ msgstr "Standardverdi" msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Deler" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, 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:701 +#: part/models.py:702 #, 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:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN må samsvare med regex-mønsteret {pattern}" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "Lagervare med dette serienummeret eksisterer allerede" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplikat av internt delnummer er ikke tillatt i delinnstillinger" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede." -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "Deler kan ikke tilordnes strukturelle delkategorier!" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Delnavn" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Er Mal" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "Er delen en maldel?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "Er delen en variant av en annen del?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Variant av" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Delbeskrivelse (valgfritt)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Nøkkelord" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Delkategori" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "Delrevisjon eller versjonsnummer" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Revisjon" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "Hvor er denne artikkelen vanligvis lagret?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Standard utløp" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "Utløpstid (i dager) for lagervarer av denne delen" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Minimal lagerbeholdning" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "Minimum tillatt lagernivå" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Måleenheter for denne delen" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "Kan denne delen bygges fra andre deler?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "Kan denne delen brukes til å bygge andre deler?" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "Har denne delen sporing av unike artikler?" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "Kan denne delen selges til kunder?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "Er denne delen aktiv?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 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:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "Kontrollsum for BOM" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "Lagret BOM-kontrollsum" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "Stykkliste sjekket av" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "Stykkliste sjekket dato" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Opprettingsbruker" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "Eier ansvarlig for denne delen" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Selg flere" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "Valuta som brukes til å bufre prisberegninger" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "Minimal BOM-kostnad" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "Minste kostnad for komponentdeler" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "Maksimal BOM-kostnad" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "Maksimal kostnad for komponentdeler" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "Minimal innkjøpskostnad" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "Minimal historisk innkjøpskostnad" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "Maksimal innkjøpskostnad" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "Maksimal historisk innkjøpskostnad" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "Minimal intern pris" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "Minimal kostnad basert på interne prisbrudd" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "Maksimal intern pris" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "Maksimal kostnad basert på interne prisbrudd" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "Minimal leverandørpris" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "Minimumspris for del fra eksterne leverandører" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "Maksimal leverandørpris" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "Maksimalpris for del fra eksterne leverandører" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "Minimal Variantkostnad" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "Beregnet minimal kostnad for variantdeler" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "Maksimal Variantkostnad" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "Beregnet maksimal kostnad for variantdeler" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "Minimal kostnad" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "Overstyr minstekostnad" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "Maksimal kostnad" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "Overstyr maksimal kostnad" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "Beregnet samlet minimal kostnad" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "Beregnet samlet maksimal kostnad" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "Minimal salgspris" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "Minimal salgspris basert på prisbrudd" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "Maksimal Salgspris" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "Maksimal salgspris basert på prisbrudd" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "Minimal Salgskostnad" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "Minimal historisk salgspris" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "Maksimal Salgskostnad" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "Maksimal historisk salgspris" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "Del for varetelling" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "Antall" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Dato" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "Dato for utført lagertelling" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "Minimal lagerkostnad" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "Estimert minimal kostnad for lagerbeholdning" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "Maksimal lagerkostnad" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "Estimert maksimal kostnad for lagerbeholdning" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3750 +#: part/models.py:3760 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:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3757 +#: part/models.py:3767 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:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i BOM" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "BOM-antall for denne BOM-artikkelen" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Denne BOM-artikkelen er valgfri" -#: part/models.py:4012 +#: part/models.py:4082 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:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "BOM-artikkelreferanse" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "BOM-artikkelnotater" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "BOM-linje kontrollsum" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Godkjent" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "Denne BOM-artikkelen er godkjent" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "Arves" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne BOM-artikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:4085 +#: part/models.py:4155 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:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "BOM-artikkel erstatning" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "Overordnet BOM-artikkel" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 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:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" @@ -6627,239 +6652,243 @@ msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" msgid "Supplier part matching this SKU already exists" msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Kategorinavn" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "Produseres" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Lagervarer" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Total lagerbeholdning" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "Lag en del med innledende lagermengde" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Leverandøropplysninger" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "Legg til innledende leverandørinformasjon for denne delen" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Eksisterende bilde" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "Filnavn for et eksisterende del-bilde" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "Bildefilen finnes ikke" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "Godkjenn hele Stykklisten" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "Kan Produsere" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Minstepris" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "Overstyr beregnet verdi for minimumspris" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "Valuta for minstepris" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Makspris" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "Overstyr beregnet verdi for maksimal pris" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "Valuta for maksimal pris" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, 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:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "Minsteprisen kan ikke være større enn maksimal pris" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "Maksimal pris kan ikke være mindre enn minstepris" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM-artikler før kopiering" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "Inkluder arvede" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM-artikler som er arvet fra maldeler" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres" diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index 8568434e3b..9e3821a034 100644 --- a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -89,6 +89,7 @@ msgstr "Nie udało się przeliczyć {original} na {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" @@ -270,7 +271,7 @@ msgstr "Błędny wybór" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Nazwa" @@ -278,7 +279,7 @@ msgstr "Nazwa" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Błąd został zapisany w logach serwera." msgid "Image" msgstr "Obraz" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Waluta" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Wybierz walutę z dostępnych opcji" @@ -571,11 +572,11 @@ msgstr "Obejmuje warianty" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "Obejmuje warianty" msgid "Part" msgstr "Komponent" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Kategoria" @@ -669,16 +670,16 @@ msgstr "Wyklucz drzewo" 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:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Materiał eksploatacyjny" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Opcjonalne" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Złożenie" @@ -687,7 +688,7 @@ msgstr "Złożenie" msgid "Tracked" msgstr "Śledzony" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Testowalne" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Dostępne" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "W Zamówieniu" @@ -731,7 +732,7 @@ msgstr "Zlecenie Budowy" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Zlecenie Budowy" msgid "Location" msgstr "Lokalizacja" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "Wyjście" @@ -785,7 +786,7 @@ msgstr "Odwołanie do zamówienia wykonania" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Data utworzenia" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Odpowiedzialny" @@ -921,7 +922,7 @@ msgstr "Użytkownik lub grupa odpowiedzialna za te zlecenie produkcji" msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" @@ -983,7 +984,7 @@ msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" @@ -1020,7 +1021,7 @@ msgstr "Zbuduj obiekt" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Docelowa lokalizacja magazynowa przedmiotu" msgid "Build Level" msgstr "Poziom budowania" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Nazwa komponentu" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Możliwość śledzenia" @@ -1412,29 +1413,29 @@ msgstr "Możliwość śledzenia" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "Element BOM" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "W produkcji" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Zew. zasoby magazynowe" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Dostępna ilość" @@ -1617,7 +1618,7 @@ msgstr "Ciąg musi być unikatowy" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktywny" @@ -1731,7 +1732,7 @@ msgstr "Tytuł" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Łącze" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Zablokowany" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Jednostki" @@ -2094,7 +2095,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Aktywne" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "Wartość parametru" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Komponent" @@ -2868,7 +2869,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Możliwość zakupu" @@ -2876,7 +2877,7 @@ msgstr "Możliwość zakupu" msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Możliwość sprzedaży" @@ -2888,7 +2889,7 @@ msgstr "Części są domyślnie z możliwością sprzedaży" msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Wirtualny" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4323,7 +4324,7 @@ msgstr "Ilość w opakowaniu" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "wielokrotność" @@ -4355,7 +4356,7 @@ msgstr "Domyślna waluta używana dla tego dostawcy" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "Na stanie" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Ważny" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "Kategoria komponentu" msgid "Part Categories" msgstr "Kategorie części" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Domyślna lokalizacja" @@ -5882,632 +5883,656 @@ msgstr "Wartość domyślna" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Części" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "Czy ta część stanowi szablon części?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Wariant" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Słowa kluczowe" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Wersja" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:1254 +#: part/models.py:1264 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:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 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:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Data" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Wymagane" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Towary" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "Usuń istniejące dane" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "Usuń istniejące dane" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index b2efb2d845..8e30861e68 100644 --- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Language: pt_PT\n" @@ -89,6 +89,7 @@ msgstr "Não foi possível converter {original} para {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Quantidade fornecida inválida" @@ -270,7 +271,7 @@ msgstr "Escolha inválida" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Nome" @@ -278,7 +279,7 @@ msgstr "Nome" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Log de erro salvo pelo servidor." msgid "Image" msgstr "Imagem" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Moeda" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Selecione a Moeda nas opções disponíveis" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "Peça" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Categoria" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Consumível" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Opcional" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Montagem" @@ -687,7 +688,7 @@ msgstr "Montagem" msgid "Tracked" msgstr "Monitorado" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Disponível" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "No pedido" @@ -731,7 +732,7 @@ msgstr "Ordem de Produção" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Ordem de Produção" msgid "Location" msgstr "Local" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "Referência do pedido de produção" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Criado em" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Usuário que emitiu este pedido de produção" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsável" @@ -921,7 +922,7 @@ msgstr "Usuário ou grupo responsável para este pedido de produção" msgid "External Link" msgstr "Link Externo" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Link para URL externa" @@ -983,7 +984,7 @@ msgstr "Saída da produção não corresponde ao Pedido de Produção" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" @@ -1020,7 +1021,7 @@ msgstr "Objeto de produção" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Destino do Item do Estoque" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Nome da Peça" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Rastreável" @@ -1412,29 +1413,29 @@ msgstr "Rastreável" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Permitir variações" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "Item LDM" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "Em Produção" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Estoque Disponível" @@ -1617,7 +1618,7 @@ msgstr "A frase senha deve ser diferenciada" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Nome para este webhook" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Ativo" @@ -1731,7 +1732,7 @@ msgstr "Título" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Ligação" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2058,7 +2059,7 @@ msgstr "Parâmetros da caixa de seleção não podem ter unidades" msgid "Checkbox parameters cannot have choices" msgstr "Os parâmetros da caixa de seleção não podem ter escolhas" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "Escolhas devem ser únicas" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "Nome do Parâmetro" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Unidades" @@ -2094,7 +2095,7 @@ msgstr "Caixa de seleção" msgid "Is this parameter a checkbox?" msgstr "Este parâmetro é uma caixa de seleção?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Escolhas" @@ -2106,7 +2107,7 @@ msgstr "Opções válidas para este parâmetro (separadas por vírgulas)" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Habilitado" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "Valor do Parâmetro" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "Peças são modelos por padrão" 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/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Componente" @@ -2868,7 +2869,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Peças podem ser usadas como sub-componentes por padrão" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Comprável" @@ -2876,7 +2877,7 @@ msgstr "Comprável" msgid "Parts are purchaseable by default" msgstr "Peças são compráveis por padrão" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Vendível" @@ -2888,7 +2889,7 @@ msgstr "Peças vão vendíveis por padrão" msgid "Parts are trackable by default" msgstr "Peças vão rastreáveis por padrão" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Virtual" @@ -4298,11 +4299,11 @@ msgstr "URL do link externo da peça do fabricante" msgid "Supplier part description" msgstr "Descrição da peça fornecedor" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "preço base" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" @@ -4323,7 +4324,7 @@ msgstr "Quantidade de embalagens" 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:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "múltiplo" @@ -4355,7 +4356,7 @@ msgstr "Moeda padrão utilizada para este fornecedor" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "Em Estoque" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Válido" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "Código (SKU)" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Numero interno do produto" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "Categoria da Peça" msgid "Part Categories" msgstr "Categorias de Peça" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Local Padrão" @@ -5882,632 +5883,656 @@ msgstr "Valor Padrão" msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Peças" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, 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:701 +#: part/models.py:702 #, 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:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN deve corresponder ao padrão regex {pattern}" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 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:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "Não é permitido duplicar IPN em configurações de partes" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 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:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "Peças não podem ser atribuídas a categorias estruturais!" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Nome da peça" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "É um modelo" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "Esta peça é uma peça modelo?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "Esta peça é variante de outra peça?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Variante de" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Descrição da peça (opcional)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Palavras chave" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "Revisão de peça ou número de versão" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Revisão" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "Onde este item é armazenado normalmente?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Validade Padrão" -#: part/models.py:1223 +#: part/models.py:1224 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:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Estoque Mínimo" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "Nível mínimo de estoque permitido" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Unidade de medida para esta peça" -#: part/models.py:1248 +#: part/models.py:1258 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:1254 +#: part/models.py:1264 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:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "Esta parte tem rastreamento para itens únicos?" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "Esta peça pode ser comprada de fornecedores externos?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "Esta peça pode ser vendida a clientes?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "Esta parte está ativa?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 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:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "Soma de Verificação da LDM" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "Soma de verificação da LDM armazenada" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "LDM conferida por" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "LDM verificada no dia" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Criação de Usuário" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "Proprietário responsável por esta peça" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Venda múltipla" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "Moeda usada para armazenar os cálculos de preços" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "Custo Mínimo da LDM" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "Custo mínimo das peças componentes" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "Custo Máximo da LDM" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "Custo máximo das peças componentes" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "Custo Mínimo de Compra" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "Custo mínimo histórico de compra" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "Custo Máximo de Compra" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "Custo máximo histórico de compra" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "Preço Interno Mínimo" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "Custo mínimo baseado nos intervalos de preço internos" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "Preço Interno Máximo" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "Custo máximo baseado nos intervalos de preço internos" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "Preço Mínimo do Fornecedor" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "Preço mínimo da peça de fornecedores externos" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "Preço Máximo do Fornecedor" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "Preço máximo da peça de fornecedores externos" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "Custo Mínimo variável" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "Custo mínimo calculado das peças variáveis" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "Custo Máximo Variável" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "Custo máximo calculado das peças variáveis" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "Custo Mínimo" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "Sobrepor o custo mínimo" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "Custo Máximo" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "Sobrepor o custo máximo" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "Custo total mínimo calculado" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "Custo total máximo calculado" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "Preço Mínimo de Venda" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "Preço mínimo de venda baseado nos intervalos de preço" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "Preço Máximo de Venda" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "Preço máximo de venda baseado nos intervalos de preço" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "Custo Mínimo de Venda" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "Preço histórico mínimo de venda" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "Custo Máximo de Venda" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "Preço histórico máximo de venda" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "Peça para Balanço" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "Total de Itens" -#: part/models.py:3477 +#: part/models.py:3487 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:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "Estoque total disponível no momento do balanço" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Data" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "Data de realização do balanço" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "Custo Mínimo de Estoque" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "Custo mínimo estimado de estoque disponível" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "Custo Máximo de Estoque" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "Custo máximo estimado de estoque disponível" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Nome de Teste" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "Insira um nome para o teste" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Descrição do Teste" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Digite a descrição para este teste" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Requerido" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "Este teste é obrigatório passar?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Requer Valor" -#: part/models.py:3750 +#: part/models.py:3760 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:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Anexo obrigatório" -#: part/models.py:3757 +#: part/models.py:3767 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:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Selecione a Peça Parental" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Sub peça" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na LDM" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Quantidade de LDM para este item LDM" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Este item LDM é opcional" -#: part/models.py:4012 +#: part/models.py:4082 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:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "Referência do Item LDM" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "Notas do Item LDM" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Soma de verificação" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "Soma de Verificação da LDM da linha" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Validado" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "O item da LDM foi validado" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "Obtém herdados" -#: part/models.py:4079 +#: part/models.py:4149 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:4085 +#: part/models.py:4155 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:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "Sub peça deve ser especificada" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "Substituir Item da LDM" -#: part/models.py:4378 +#: part/models.py:4446 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:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "Item LDM Parental" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Substituir peça" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "Selecionar Peça Relacionada" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 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:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "Relação duplicada já existe" @@ -6627,239 +6652,243 @@ msgstr "A peça do fabricante que corresponde a essa MPN já existe" msgid "Supplier part matching this SKU already exists" msgstr "A peça do fornecedor que corresponde a essa SKU já existe" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Nome da Categoria" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "Produzindo" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Itens de Estoque" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Estoque Total" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Peça duplicada" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "Copiar dados iniciais de outra peça" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Estoque inicial" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "Criar peça com a quantidade inicial de estoque" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Informações do Fornecedor" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "Adicionar informação inicial de fornecedor para esta peça" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "Copiar Parâmetros da Categoria" -#: part/serializers.py:993 +#: part/serializers.py:998 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:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Imagem Existente" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "Nome de arquivo de uma imagem de peça existente" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "A imagem não existe" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "Validar a Lista de Materiais completa" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "Pode Produzir" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Preço Mínimo" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "Sobrepor valor calculado para preço mínimo" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "Moeda do preço mínimo" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Preço Máximo" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "Sobrepor valor calculado para preço máximo" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "Moeda do preço máximo" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Atualizar" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "Atualizar preços desta peça" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, 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:1560 +#: part/serializers.py:1565 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:1563 +#: part/serializers.py:1568 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:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "Selecionar peça para copiar a LDM" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "Remover Dado Existente" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "Remova itens LDM existentes antes de copiar" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "Incluir Herdados" -#: part/serializers.py:2006 +#: part/serializers.py:2020 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:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Pular Linhas inválidas" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Habilitar esta opção para pular linhas inválidas" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "Copiar Peças Substitutas" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copiar peças de substitutas quando duplicar itens de LDM" diff --git a/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po index 4c08d84539..00669a53fb 100644 --- a/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -89,6 +89,7 @@ msgstr "Não foi possível converter {original} para {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Quantidade inválida" @@ -270,7 +271,7 @@ msgstr "Escolha inválida" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Nome" @@ -278,7 +279,7 @@ msgstr "Nome" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Um erro foi registrado pelo servidor." msgid "Image" msgstr "Imagem" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Deve ser um número válido" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Moeda" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Selecione a moeda entre as opções disponíveis" @@ -571,11 +572,11 @@ msgstr "Incluir Variáveis" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "Incluir Variáveis" msgid "Part" msgstr "Parte" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Categoria" @@ -669,16 +670,16 @@ msgstr "Excluir árvore" msgid "Build must be cancelled before it can be deleted" msgstr "A compilação deve ser cancelada antes de ser excluída" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Consumível" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Opcional" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Montagem" @@ -687,7 +688,7 @@ msgstr "Montagem" msgid "Tracked" msgstr "Rastreado" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Testável" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Disponível" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "Em pedido" @@ -731,7 +732,7 @@ msgstr "Ordem da compilação" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Ordem da compilação" msgid "Location" msgstr "Local" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "Saída" @@ -785,7 +786,7 @@ msgstr "Referência do pedido de produção" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Criado em" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Usuário que emitiu esta ordem de produção" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsável" @@ -921,7 +922,7 @@ msgstr "Usuário ou grupo responsável para esta ordem de produção" msgid "External Link" msgstr "Link Externo" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Link para URL externa" @@ -983,7 +984,7 @@ msgstr "Saída da produção não corresponde à Ordem de Produção" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" @@ -1020,7 +1021,7 @@ msgstr "Compilar objeto" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Destino do Item do Estoque" msgid "Build Level" msgstr "Nível de produção" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Nome da Peça" @@ -1404,7 +1405,7 @@ msgstr "Referência da produção" msgid "Part Category Name" msgstr "Nome da Categoria" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Rastreável" @@ -1412,29 +1413,29 @@ msgstr "Rastreável" msgid "Inherited" msgstr "Herdado" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Permitir variantes" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "Item BOM" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "Em Produção" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "Agendado para produção" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Estoque Externo" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Estoque Disponível" @@ -1617,7 +1618,7 @@ msgstr "A frase senha deve ser diferenciada" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Nome para este webhook" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Ativo" @@ -1731,7 +1732,7 @@ msgstr "Título" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" @@ -1962,7 +1963,7 @@ msgstr "Nome da lista de seleção" msgid "Description of the selection list" msgstr "Descrição da lista de seleção" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Bloqueado" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "Nome do Parâmetro" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Unidades" @@ -2094,7 +2095,7 @@ msgstr "Caixa de seleção" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Habilitado" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "Peças são modelos por padrão" 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/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Componente" @@ -2868,7 +2869,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Peças podem ser usadas como sub-componentes por padrão" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Comprável" @@ -2876,7 +2877,7 @@ msgstr "Comprável" msgid "Parts are purchaseable by default" msgstr "Peças são compráveis por padrão" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Comercializável" @@ -2888,7 +2889,7 @@ msgstr "Peças vão vendíveis por padrão" msgid "Parts are trackable by default" msgstr "Peças vão rastreáveis por padrão" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Virtual" @@ -4298,11 +4299,11 @@ msgstr "URL do link externo da peça do fabricante" msgid "Supplier part description" msgstr "Descrição da peça fornecedor" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "preço base" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" @@ -4323,7 +4324,7 @@ msgstr "Quantidade de embalagens" 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 individuais." -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "múltiplo" @@ -4355,7 +4356,7 @@ msgstr "Moeda padrão utilizada para este fornecedor" msgid "Company Name" msgstr "Nome da Empresa" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "Em Estoque" @@ -4519,7 +4520,7 @@ msgstr "Dados da linha original" msgid "Errors" msgstr "Erros" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Válido" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "Código (SKU)" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Número Interno da Peça" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "Categoria da Peça" msgid "Part Categories" msgstr "Categorias de Peça" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Local Padrão" @@ -5882,632 +5883,656 @@ msgstr "Valor Padrão" msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Peças" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Nome da peça" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "É um modelo" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Descrição da peça (opcional)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Palavras-chaves" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Validade Padrão" -#: part/models.py:1223 +#: part/models.py:1224 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:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Estoque Mínimo" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Criação de Usuário" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Data" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "Modelos de teste só podem ser criados para partes testáveis" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Obrigatório" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Sub peça" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Itens de Estoque" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Estoque Total" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Estoque Inicial" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Atualizar" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Ignorar Linhas Inválidas" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Habilite essa opção para ignorar linhas inválidas" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po index 3dc456ac3d..cc01139de7 100644 --- a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Language: ro_RO\n" @@ -89,6 +89,7 @@ msgstr "Nu s-a putut converti {original} în {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Cantitate furnizata nevalida" @@ -270,7 +271,7 @@ msgstr "Alegere invalidă" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Nume" @@ -278,7 +279,7 @@ msgstr "Nume" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "A fost înregistrată o eroare de către server." msgid "Image" msgstr "Imagine" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Trebuie sa fie un număr valid" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Monedă" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Selectați moneda din opțiunile disponibile" @@ -571,11 +572,11 @@ msgstr "İnclude variante" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "İnclude variante" msgid "Part" msgstr "Piesă" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Categorie" @@ -669,16 +670,16 @@ msgstr "Exclude arbore" msgid "Build must be cancelled before it can be deleted" msgstr "Construcția trebuie anulată înainte de a putea fi ștearsă" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Opţional" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Asamblate" @@ -687,7 +688,7 @@ msgstr "Asamblate" msgid "Tracked" msgstr "Urmarit" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Testabilă" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Disponibil" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "Pe comandă" @@ -731,7 +732,7 @@ msgstr "Comenzi de Producție" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Comenzi de Producție" msgid "Location" msgstr "Locatie" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "Ieșire" @@ -785,7 +786,7 @@ msgstr "Referință comandă producție" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Cod de lot pentru această producție" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Data creării" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Utilizatorul care a emis această comandă de producție" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsabil" @@ -921,7 +922,7 @@ msgstr "Utilizatorul sau grupul responsabil pentru această comandă de producț msgid "External Link" msgstr "Link extern" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Link către URL-ul extern" @@ -983,7 +984,7 @@ msgstr "Construcția nu se potrivește cu Comanda de producție" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Cantitatea trebuie să fie mai mare decât zero" @@ -1020,7 +1021,7 @@ msgstr "Construiește obiectul" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Destinație articol in stoc" msgid "Build Level" msgstr "Nivel de construcție" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Numele Piesei" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "Nume Categorie Piesă" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "" @@ -1412,29 +1413,29 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "În Producţie" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Stoc extern" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Stoc disponibil" @@ -1617,7 +1618,7 @@ msgstr "" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Nume pentru acest webhook" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Activ" @@ -1731,7 +1732,7 @@ msgstr "Titlu" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "Descrierea listei de selecție" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2094,7 +2095,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "" @@ -2868,7 +2869,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "" @@ -2876,7 +2877,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "" @@ -2888,7 +2889,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "Descrierea piesei furnizorului" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4323,7 +4324,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4355,7 +4356,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "Este versiune" msgid "Has Revisions" msgstr "Are Versiuni" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "" msgid "Part Categories" msgstr "" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5882,632 +5883,656 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Descrierea piesei (opțional)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Versiunea" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "Este aceasta parte o versiune a unei alte părți?" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "Versiune Din" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "Responsabil pentru acest capitol" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Descriere test" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Introduceți descrierea pentru acest test" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "Este necesar acest test pentru a trece?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "Versiunea" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "Descrierea piesei" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index 8fad182aa9..a09ad8504c 100644 --- a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -89,6 +89,7 @@ msgstr "Невозможно преобразовать {original} в {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "недопустимое количество" @@ -270,7 +271,7 @@ msgstr "Неверный выбор" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Название" @@ -278,7 +279,7 @@ msgstr "Название" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Сервер зарегистрировал ошибку." msgid "Image" msgstr "Изображение" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Валюта" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Выберите валюту из доступных вариантов" @@ -571,11 +572,11 @@ msgstr "Включая варианты" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "Включая варианты" msgid "Part" msgstr "Деталь" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Категория" @@ -669,16 +670,16 @@ msgstr "Исключить дерево" msgid "Build must be cancelled before it can be deleted" msgstr "Заказ на производство должен быть отменен перед удалением" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Расходник" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Необязательно" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Сборная деталь" @@ -687,7 +688,7 @@ msgstr "Сборная деталь" msgid "Tracked" msgstr "Отслеживается" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Тестируемая" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Доступно" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "В заказе" @@ -731,7 +732,7 @@ msgstr "Заказ на производство" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Заказ на производство" msgid "Location" msgstr "Расположение" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "Выход" @@ -785,7 +786,7 @@ msgstr "Ссылка на заказ на производство" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Код партии для продукции" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Дата создания" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Пользователь, создавший этот заказ на производство" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Ответственный" @@ -921,7 +922,7 @@ msgstr "Пользователь, ответственный за этот за msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Ссылка на внешний URL" @@ -983,7 +984,7 @@ msgstr "Продукция не совпадает с заказом на про #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" @@ -1020,7 +1021,7 @@ msgstr "Объект производства" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Целевая складская позиция" msgid "Build Level" msgstr "Уровень сборки" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Наименование детали" @@ -1404,7 +1405,7 @@ msgstr "Ссылка на сборку" msgid "Part Category Name" msgstr "Название категории детали" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Отслеживание" @@ -1412,29 +1413,29 @@ msgstr "Отслеживание" msgid "Inherited" msgstr "Унаследованные" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Есть варианты" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "Позиция BOM" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "В производстве" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "Запланировано к сборке" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Внешний склад" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Доступный запас" @@ -1617,7 +1618,7 @@ msgstr "Строка ключа должна быть уникальной" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Имя для этого веб-хука" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Активный" @@ -1731,7 +1732,7 @@ msgstr "Заголовок" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Ссылка" @@ -1962,7 +1963,7 @@ msgstr "Название списка выбора" msgid "Description of the selection list" msgstr "Описание списка выбора" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Заблокирована" @@ -2058,7 +2059,7 @@ msgstr "У параметров-переключателей не может б msgid "Checkbox parameters cannot have choices" msgstr "У параметров-переключателей не может быть вариантов" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "Варианты должны быть уникальными" @@ -2074,7 +2075,7 @@ msgstr "Тип целевой модели для этого шаблона па msgid "Parameter Name" msgstr "Название параметра" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Единица измерения" @@ -2094,7 +2095,7 @@ msgstr "Переключатель" msgid "Is this parameter a checkbox?" msgstr "Этот параметр является переключателем?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Варианты" @@ -2106,7 +2107,7 @@ msgstr "Возможные варианты этого параметра (ра msgid "Selection list for this parameter" msgstr "Список выбора для этого параметра" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Включено" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "Значение параметра" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "По умолчанию детали являются шаблонами msgid "Parts can be assembled from other components by default" msgstr "По умолчанию детали могут быть собраны из других компонентов" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Компонент" @@ -2868,7 +2869,7 @@ msgstr "Компонент" msgid "Parts can be used as sub-components by default" msgstr "По умолчанию детали могут использоваться в качестве суб-компонентов" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Можно купить" @@ -2876,7 +2877,7 @@ msgstr "Можно купить" msgid "Parts are purchaseable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Можно продавать" @@ -2888,7 +2889,7 @@ msgstr "Детали продаются по умолчанию" msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Виртуальная" @@ -4298,11 +4299,11 @@ msgstr "Ссылка на сайт поставщика" msgid "Supplier part description" msgstr "Описание детали поставщика" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "базовая стоимость" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Минимальная плата (например, складская)" @@ -4323,7 +4324,7 @@ msgstr "Количество в упаковке" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Общее количество, поставляемое в одной упаковке. Оставьте пустым для отдельных элементов." -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "множественные" @@ -4355,7 +4356,7 @@ msgstr "Валюта по умолчанию для этого поставщи msgid "Company Name" msgstr "Название компании" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "На складе" @@ -4519,7 +4520,7 @@ msgstr "Исходные данные строки" msgid "Errors" msgstr "Ошибки" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Корректный" @@ -5488,7 +5489,7 @@ msgstr "Объединять в одну позицию элементы, у к msgid "SKU" msgstr "Артикул" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Внутренний артикул детали" @@ -5764,63 +5765,63 @@ msgstr "Является ревизией" msgid "Has Revisions" msgstr "Есть ревизии" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "Спецификация валидна" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "Каскадные категории" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "Если включено, включать элементы в дочерних категориях указанной категории" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Фильтровать по числовому идентификатору категории или литералу 'null'" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "Сборочная деталь активна" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "Отслеживаемая сборочная деталь" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "Сборная деталь тестируется" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "Деталь компонента активна" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "Отслеживаемая деталь компонента" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "Компонент тестируется" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "Сборочная деталь компонента" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "Виртуальная деталь компонента" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "На складе" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "Использования" @@ -5833,7 +5834,7 @@ msgstr "Категория детали" msgid "Part Categories" msgstr "Категория детали" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Место хранения по умолчанию" @@ -5882,632 +5883,656 @@ msgstr "Значение по умолчанию" msgid "Default Parameter Value" msgstr "Значение параметра по умолчанию" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Детали" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "Нельзя удалить параметры заблокированной детали" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "Нельзя изменить параметры заблокированной детали" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "Нельзя удалить эту деталь, так как она заблокирована" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "Нельзя удалить эту деталь, так как она ещё активна" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "Нельзя удалить эту деталь, так как она используется в сборке" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Деталь '{self}' не может быть использована в спецификации для '{parent}' (рекурсивно)" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Деталь '{parent}' используется в спецификации для '{self}' (рекурсивно)" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN должен соответствовать регулярному выражению {pattern}" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "Деталь не может быть ревизией самой себя" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "Ревизии разрешены только для сборочных деталей" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "Нельзя сделать ревизию шаблонной детали" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "Родительская деталь должна указывать на тот же шаблон" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "Складская позиция с этим серийным номером уже существует" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "Дублирующий IPN не разрешён в настройках детали" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "Дублирующая ревизия детали уже существует." -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "Деталь с таким именем, внутренним артикулом и ревизией уже существует." -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "Детали не могут быть назначены структурным категориям!" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Разновидность" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Описание детали (необязательно)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Ключевые слова" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Категория" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "Внутренний артикул" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "Ревизия или серийный номер детали" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Ревизия" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "Является ли эта деталь ревизией другой детали?" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "Ревизия от" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Срок действия по умолчанию" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "Срок годности (в днях) для складских позиций этой детали" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Минимальный запас" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Единицы измерения этой детали" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "Можно ли в этой детали записывать результаты тестов?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "Эта деталь активна?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "Заблокированные детали нельзя редактировать" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "Спецификация подтверждена" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "Валидна ли спецификация для этой детали?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "Контрольная сумма BOM" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "Сохранённая контрольная сумма спецификации" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "BOM проверил" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "Дата проверки BOM" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Создатель" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "Ответственный владелец этой детали" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Продать несколько" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "Валюта, используемая для кэширования расчётов цен" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "Минимальная Стоимость BOM" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "Минимальная стоимость компонентных деталей" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "Максимальная Стоимость BOM" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "Максимальная стоимость компонентных деталей" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "Минимальная стоимость закупки" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "Минимальная историческая стоимость закупки" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "Максимальная стоимость закупки" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "Максимальная историческая стоимость закупки" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "Минимальная внутренняя цена" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "Минимальная стоимость на основе внутренних ценовых уровней" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "Максимальная внутренняя цена" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "Максимальная стоимость на основе внутренних ценовых уровней" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "Минимальная цена поставщика" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "Минимальная цена детали от внешних поставщиков" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "Максимальная цена поставщика" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "Максимальная цена детали от внешних поставщиков" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "Минимальная стоимость варианта" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "Расчётная минимальная стоимость вариантов деталей" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "Максимальная стоимость варианта" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "Расчётная максимальная стоимость вариантов деталей" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "Минимальная Стоимость" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "Переопределить минимальную стоимость" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "Максимальная Стоимость" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "Переопределить максимальную стоимость" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "Расчётная общая минимальная стоимость" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "Расчётная общая максимальная стоимость" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "Минимальная цена продажи" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "Минимальная цена продажи на основе ценовых уровней" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "Максимальная цена продажи" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "Максимальная цена продажи на основе ценовых уровней" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "Минимальная стоимость продажи" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "Минимальная историческая цена продажи" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "Максимальная стоимость продажи" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "Максимальная историческая цена продажи" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "Деталь для инвентаризации" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "Количество элементов" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "Количество отдельных складских позиций на момент инвентаризации" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "Общий доступный запас на момент инвентаризации" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Дата" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "Дата проведения инвентаризации" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "Минимальная стоимость запасов" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "Оценочная минимальная стоимость имеющихся запасов" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "Максимальная стоимость запасов" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "Оценочная максимальная стоимость имеющихся запасов" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "Цена продажи детали по порогу" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "Шаблон теста детали" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Недопустимое имя шаблона — должно содержать хотя бы один буквенно-цифровой символ" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "Шаблоны тестов можно создавать только для тестируемых деталей" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "Шаблон теста с тем же ключом уже существует для детали" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Название теста" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "Введите имя для теста" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "Ключ теста" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "Упрощённый ключ для теста" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Описание теста" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Введите описание для этого теста" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "Активен ли данный тест?" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Необходим" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "Необходимо ли пройти этот тест?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Требуется значение" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "Требуется ли значение для этого теста при добавлении результата?" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Требуются вложения" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "Требуется ли прикреплять вложение в виде файла при добавлении результатов теста?" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "Допустимые варианты данного теста(через запятую)" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "Пункт спецификации нельзя изменить — сборка заблокирована" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "Пункт спецификации нельзя изменить — вариант сборки заблокирован" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Суб-деталь" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Количество элементов в спецификации" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Эта позиция спецификации необязательна" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Эта позиция - расходник (она не отслеживается в заказах на производство)" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "Количество для подготовки" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "Дополнительное требуемое количество для сборки, учитывающее потери при подготовке" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "Потери" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Оценочные потери для сборки, выраженные в процентах (0–100)" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "Округление до кратности" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "Округлять требуемое производственное количество до ближайшего кратного этого значения" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "Ссылка на позицию спецификации" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "Заметка о позиции в спецификации" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Контрольная сумма" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "Контрольная сумма строки спецификации" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Проверен" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "Этот пункт спецификации подтверждён" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "Наследуется" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Позиция спецификации наследуется разновидностями детали" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Эту позицию можно заменять деталями, которые находятся на складе" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "Необходимо указать поддеталь" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "Замена пункта спецификации" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "Деталь для замены не может быть такой же, как основная деталь" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "Позиция BOM-родителя" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Замена детали" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Деталь 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Деталь 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "Выберите связанную деталь" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "Заметка для данной связи" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "Нельзя создать отношение детали с самой собой" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "Дублирующее отношение уже существует" @@ -6627,239 +6652,243 @@ msgstr "Деталь производителя с данным артикуло msgid "Supplier part matching this SKU already exists" msgstr "Деталь поставщика с данным артикулом уже существует" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Название категории" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "Производится" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "Количество этой детали, находящееся в производстве" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Оставшееся количество этой детали, запланированное к сборке" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Складские позиции" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "Ревизии" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Общий запас" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "Нераспределённый запас" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "Запас вариантов" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "Копировать начальные данные из другой детали" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Начальный запас" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "Создавать деталь с начальным количеством на складе" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Информация о поставщике" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "Добавить начальную информацию о поставщике для этой детали" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "Копировать шаблоны параметров из выбранной категории деталей" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Существующее изображение" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "Имя файла существующего изображения детали" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "Файл изображения не существует" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "Проверить всю спецификацию" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "Можно произвести" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "Требуется для заказов на сборку" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "Выделено для заказов на сборку" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "Требуется для заказов на продажу" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "Выделено для заказов на продажу" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "Внутренний артикул детали" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "Описание детали" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "Выберите деталь (и любые её варианты) для которой сгенерировать информацию об инвентаризации" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "Выберите категорию (и любые её подкатегории) для которой сгенерировать информацию об инвентаризации" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "Выберите склад, чтобы включить все детали в наличии в указанном складе (включая подразделы)" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "Создать записи инвентаризации" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "Сохранить записи инвентаризации для выбранных деталей" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "Создать отчет" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "Создать отчёт инвентаризации для выбранных деталей" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Минимальная цена" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "Переопределить рассчитанное значение минимальной цены" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "Валюта минимальной цены" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Максимальная цена" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "Переопределить рассчитанное значение максимальной цены" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "Валюта максимальной цены" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Обновить" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "Обновить цены для этой детали" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Не удалось конвертировать из предоставленных валют в {default_currency}" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "Минимальная цена не должна превышать максимальную цену" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "Максимальная цена не должна быть меньше минимальной" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "Выберите родительскую сборку" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "Выберите деталь, которая является компонентом" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "Выберите деталь, из которой копировать спецификацию" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "Удалить существующие данные" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "Удалить существующие пункты спецификации перед копированием" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "Включая наследуемые" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "Включать пункты спецификации, унаследованные от шаблонных деталей" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Пропустить некорректные строки" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Включите эту опцию, чтобы пропускать недопустимые строки" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "Копировать детали-заменители" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "Копировать детали-заменители при дублировании пунктов спецификации" diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index 76e0594f14..dd3e524954 100644 --- a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -89,6 +89,7 @@ msgstr "" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "" @@ -270,7 +271,7 @@ msgstr "" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "" @@ -278,7 +279,7 @@ msgstr "" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +688,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "" @@ -711,8 +712,8 @@ msgid "Available" msgstr "" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "" @@ -731,7 +732,7 @@ msgstr "" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "" msgid "Location" msgstr "" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -921,7 +922,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "" @@ -983,7 +984,7 @@ msgstr "" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" @@ -1020,7 +1021,7 @@ msgstr "" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "" @@ -1412,29 +1413,29 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "" @@ -1617,7 +1618,7 @@ msgstr "" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1731,7 +1732,7 @@ msgstr "" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2094,7 +2095,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "" @@ -2868,7 +2869,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "" @@ -2876,7 +2877,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "" @@ -2888,7 +2889,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4323,7 +4324,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4355,7 +4356,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "" msgid "Part Categories" msgstr "" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5882,632 +5883,656 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index d73e01323f..3209e0dd64 100644 --- a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -89,6 +89,7 @@ msgstr "Ni mogoče pretvoriti {original} v {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Podana napačna količina" @@ -270,7 +271,7 @@ msgstr "Nedovoljena izbira" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Ime" @@ -278,7 +279,7 @@ msgstr "Ime" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Zaznana napaka na strežniku." msgid "Image" msgstr "" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Izberite valuto med razpoložljivimi možnostmi" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Neobvezno" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Montaža" @@ -687,7 +688,7 @@ msgstr "Montaža" msgid "Tracked" msgstr "Sledi" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Testno" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Na voljo" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "" @@ -731,7 +732,7 @@ msgstr "Nalog izgradnje" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Nalog izgradnje" msgid "Location" msgstr "" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "Referenca naloga izgradnje" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Datum ustvarjenja" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Odgovoren" @@ -921,7 +922,7 @@ msgstr "Odgovorni uporabnik ali skupina za to naročilo" msgid "External Link" msgstr "Zunanja povezava" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Zunanja povezava" @@ -983,7 +984,7 @@ msgstr "Izgradnja se ne ujema s nalogom izdelave" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" @@ -1020,7 +1021,7 @@ msgstr "" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Destinacija postavke zaloge" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "" @@ -1412,29 +1413,29 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "" @@ -1617,7 +1618,7 @@ msgstr "" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktivno" @@ -1731,7 +1732,7 @@ msgstr "" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Povezava" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2094,7 +2095,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "" @@ -2868,7 +2869,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "" @@ -2876,7 +2877,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "" @@ -2888,7 +2889,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4323,7 +4324,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4355,7 +4356,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "" msgid "Part Categories" msgstr "" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5882,632 +5883,656 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index d4130a9923..f949926382 100644 --- a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -89,6 +89,7 @@ msgstr "Nije moguće konvertovati {original} u {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Isporučena nevažeća količina" @@ -270,7 +271,7 @@ msgstr "Nevažeći izvor" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Ime" @@ -278,7 +279,7 @@ msgstr "Ime" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Server je zabležio grešku." msgid "Image" msgstr "Slika" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Mora biti važeći broj" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Odaberite valutu među dostupnim opcijama" @@ -571,11 +572,11 @@ msgstr "Uključi varijante" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "Uključi varijante" msgid "Part" msgstr "Deo" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Kategorija" @@ -669,16 +670,16 @@ msgstr "Ne uključuj stablo" msgid "Build must be cancelled before it can be deleted" msgstr "Proizvod mora biti poništen pre nego što se izbriše" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Potrošni materijal" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Opciono" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Sklapanje" @@ -687,7 +688,7 @@ msgstr "Sklapanje" msgid "Tracked" msgstr "Praćeno" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Proverljivo" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Dostupno" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "Po narudžbini" @@ -731,7 +732,7 @@ msgstr "Nalog za izradu" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Nalog za izradu" msgid "Location" msgstr "Lokacija" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "Reference naloga za pravljenje" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Kod izgradnje za ovaj izlaz" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "datum kreiranja" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Korisnik koji je izdao nalog za izgradnju" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Odgovoran" @@ -921,7 +922,7 @@ msgstr "Korisnik ili grupa koja je odgovorna za ovaj nalog za izgradnju" msgid "External Link" msgstr "Spoljašnja konekcija" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Link za eksterni URL" @@ -983,7 +984,7 @@ msgstr "Izlaz izgradnje se ne slaže sa Nalogom za izgradnju" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Količina mora biti veća od nule" @@ -1020,7 +1021,7 @@ msgstr "Objekat izgradnje" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Stavka zaliha odredišta" msgid "Build Level" msgstr "Nivo izgradnje" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Ime dela" @@ -1404,7 +1405,7 @@ msgstr "Referenca izgradnje" msgid "Part Category Name" msgstr "Ime kategorije dela" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Može da se prati" @@ -1412,29 +1413,29 @@ msgstr "Može da se prati" msgid "Inherited" msgstr "Nasleđen" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Dozvoli varijante" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "BOM stavka" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "U proizvodnji" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Spoljašnje zalihe" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Dostupne zalihe" @@ -1617,7 +1618,7 @@ msgstr "Tekstualni ključ mora da bude jedinstven" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Ime ovog zahteva za izmenu stranice" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktivan" @@ -1731,7 +1732,7 @@ msgstr "Naslov" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" @@ -1962,7 +1963,7 @@ msgstr "Ime liste odabira" msgid "Description of the selection list" msgstr "Opis liste odabira" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Zaključano" @@ -2058,7 +2059,7 @@ msgstr "Checkbox parametri ne mogu imati jedinice" msgid "Checkbox parameters cannot have choices" msgstr "Checkbox parametri ne mogu imati izbore" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "Izbori moraju biti jedinstveni" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "Naziv parametra" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Jedinice" @@ -2094,7 +2095,7 @@ msgstr "Polje za potvrdu" msgid "Is this parameter a checkbox?" msgstr "Da li je ovaj parametar checkbox?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Izbori" @@ -2106,7 +2107,7 @@ msgstr "Validni izbori za ovaj parametar (razdvojeni zapetom)" msgid "Selection list for this parameter" msgstr "Lista izbora za ovaj parametar" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Omogućen" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "Vrednost parametra" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "Podrazumevano je da su delovi šabloni" msgid "Parts can be assembled from other components by default" msgstr "Podrazumevano je da se delovi mogu sastavljati od drugih komponenti" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Komponenta" @@ -2868,7 +2869,7 @@ msgstr "Komponenta" msgid "Parts can be used as sub-components by default" msgstr "Podrazumevano je da se delovi mogu koristi kao pod-komponente" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Može da se kupi" @@ -2876,7 +2877,7 @@ msgstr "Može da se kupi" msgid "Parts are purchaseable by default" msgstr "Podrazumevano je da se delovi mogu kupiti" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Može da se proda" @@ -2888,7 +2889,7 @@ msgstr "podrazumevano je da delovi mogu da se prodaju" msgid "Parts are trackable by default" msgstr "Podrazumevano je da delovi mogu da se prate" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Virtuelni" @@ -4298,11 +4299,11 @@ msgstr "URL za link dela eksternog dobavljača" msgid "Supplier part description" msgstr "Opis dela dobavljača" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "osnovni trošak" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimalna naplata (npr. taksa za slaganje)" @@ -4323,7 +4324,7 @@ msgstr "Količina pakovanja" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Ukupna količina dostavljena u jednom pakovanju. Ostaviti prazno za pojedinačne stavke." -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "više" @@ -4355,7 +4356,7 @@ msgstr "Podrazumevana valuta koja se koristi za ovog dobavljača" msgid "Company Name" msgstr "Naziv kompanije" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "Na zalihama" @@ -4519,7 +4520,7 @@ msgstr "Originalni podaci vrste" msgid "Errors" msgstr "Greške" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Važeće" @@ -5488,7 +5489,7 @@ msgstr "Spoj stavke sa istim delom, odredištem i ciljanim datumom u jednu stavk msgid "SKU" msgstr "Jedinica za praćenje zaliha" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Interni broj dela" @@ -5764,63 +5765,63 @@ msgstr "Je revizija" msgid "Has Revisions" msgstr "Ima revizije" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "Spisak materijala validan" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "Deo sklopa se može testirati" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "Deo komponente se može testirati" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "Koristi" @@ -5833,7 +5834,7 @@ msgstr "Kategorija dela" msgid "Part Categories" msgstr "Kategorije delova" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Podrazumevana lokacija" @@ -5882,632 +5883,656 @@ msgstr "Podrazumevana vrednost" msgid "Default Parameter Value" msgstr "Podrazumevana vrednost parametra" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Delovi" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "Ovaj deo se ne može izbrisati jer je zaključan" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "Ovaj deo se ne može izbrisati jer je i dalje aktivan" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "Ovaj deo se ne može obrisati jer se koristi u sklopu" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Deo '{self}' ne može biti korišćen u spisku materijala za '{parent}' (recursive)" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Deo '{parent}' se koristi u spisku materijala za '{self}' (recursive)" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "Interni broj dela se mora slagati sa regex šablonom {pattern}" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "Deo ne može biti revizija samog sebe" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "Revizije su dozvoljene samo za delove sklopove" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "Ne može se izvršiti revizija šablonskog dela" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "Nadređeni deo mora biti vezan sa istim šablonom" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "Stavka sa ovim serijskim brojem već postoji" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplirani interni brojevi dela nisu dozvoljeni u podešavanjima dela" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "Identična revizija dela već postoji" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "Deo sa ovim nazivom, internim brojem dela i revizijom već postoji" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "Delovi ne mogu biti dodeljeni strukturnim kategorijama delova!" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Naziv dela" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Jeste šablon" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "Da li je ovaj deo šablonski deo?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "Da li je ovaj deo varijanta drugog dela?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Varijanta od" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Opis dela (opciono)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Ključne reči" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "Ključne reči dela da bi se poboljšala vidljivost u rezultatima pretrage" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Kategorija dela" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "Interni broj dela" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "Revizija dela ili broj verzije" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Revizija" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "Da li je ovaj deo revizija drugog dela?" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "Revizija od" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "Gde je ova stavka inače skladištena?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Podrazumevani istek" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "Vreme isteka (u danima) za stavke sa zaliha ovog dela" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Minimalne zalihe" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "Minimalni dozvoljen nivo zaliha" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Jedinice mere za ovaj deo" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "Da li ovaj deo može biti izgrađen od drugih delova?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "Da li ovaj deo može biti korišćen za izradu drugih delova?" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "Da li ovaj deo ima praćenje za više stavki?" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "Da li ovaj deo može imati svoje rezultate testa?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "Da li ovaj deo može biti kupljen od eksternih dobavljača?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "Da li ovaj deo može biti prodat mušterijama?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "Da li je ovaj deo aktivan?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "Zaključani delovi se ne mogu menjati" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "Da li je ovo virtuelni deo, kao na primer softver ili licenca?" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "Suma spiska materijala" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "Uskladištena suma spiska materijala" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "Spisak materijala proveren od strane" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "Spisak materijala proveren datuma" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Korisnik koji je kreirao" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "Vlasnik odgovoran za ovaj deo" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Prodaj više" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "Valuta korišćena za vršenje proračuna o cenama" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "Minimalna vrednost spiska materijala" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "Minimalna vrednost komponenti delova" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "Maksimalna vrednost spiska materijala" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "Maksimalna vrednost komponenti delova" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "Minimalna kupovna vrednost" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "Minimalna istorijska kupovna vrednost" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "Maksimalna kupovna vrednost" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "Maksimalna istorijska kupovna vrednost" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "Minimalna interna cena" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "Minimalna cena bazirana na internim sniženjima cena" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "Maksimalna interna cena" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "Maksimalna vrednost bazirana na internim sniženjima cena" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "Minimalna cena dobavljača" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "Minimalna cena dela od eksternih dobavljača" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "Maksimalna cena dobavljača" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "Maksimalna cena dela od eksternih dobavljača" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "Minimalna vrednost varijanti" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "Izračunata minimalna vrednost varijanti delova" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "Maksimalna vrednost varijanti" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "Izračunata maksimalna vrednost varijanti delova" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "Minimalna vrednost" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "Promeni minimalnu vrednost" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "Maksimalna vrednost" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "Promeni maksimalnu vrednost" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "Ukupna izračunata minimalna vrednost" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "Ukupna izračunata maksimalna vrednost" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "Minimalna prodajna cena" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "Minimalna prodajna cena bazirana na osnovu sniženja cena" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "Maksimalna prodajna cena" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "Maksimalna prodajna cena bazirana na osnovu sniženja cena" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "Minimalna prodajna vrednost" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "Minimalna istorijska prodajna cena" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "Maksimalna prodajna vrednost" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "Maksimalna istorijska prodajna cena" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "Deo za popis" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "Broj stavki" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "Broj individualnih unosa zaliha u vreme popisa" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "Ukupne dostupne zalihe za vreme popisa" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Datum" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "Datum kada je izvršen popis" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "Minimalna vrednost zaliha" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "Procenjena minimalna vrednost trenutnih zaliha" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "Maksimalna vrednost zaliha" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "Procenjena maksimalna vrednost trenutnih zaliha" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "Smanjenje prodajne cene dela" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "Šablon testa dela" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Nevažeći naziv šablona - mora da uključuje bar jedan alfanumerički karakter" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "Test šabloni mogu biti kreirani samo za delove koje je moguće testirati" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "Test šablon sa istim ključem već postoji za ovaj deo" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Naziv testa" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "Unesi naziv za ovaj test" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "Test ključ" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "Pojednostavljen ključ za test" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Opis testa" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Unesi opis za ovaj test" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "Da li je ovaj test omogućen?" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Neophodno" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "Da li je neophodno da ovaj test prođe?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Zahteva vrednost" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "Da li ovaj test zahteva vrednost prilikom dodavanja rezultata testa?" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Zahteva prilog" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "Da li ovaj test zahteva fajl kao prilog prilikom dodavanja rezultata testa?" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "Validni izbori za ovaj test (razdvojeni zapetom)" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "Stavke sa spiska materijala se ne mogu modifikovati - sklapanje je zaključano" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "Stavke sa spiska materijala se ne mogu modifikovati - sklapanje varijanti je zaključano" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Izaberi nadređeni deo" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Pod-deo" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "Izaberi deo koji će biti korišćen u spisku materijala" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Količina spiskova materijala za ovu stavku sa spiska materijala" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Ova stavka sa spiska materijala je opciona" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ova stavka sa spiska materijala se može potrošiti (nije praćena u nalozima za izradu)" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "Referenca stavke sa spiska materijala" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "Beleške stavki sa spiska materijala" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Suma" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "Suma spiska materijala" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Validirano" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "Ova stavka sa spiska materijala je validirana" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "Biva nasleđeno" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Ova stavka sa spiska materijala je nasleđivana od spiska materijala za varijante delova" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Stavke sa zaliha za varijante delova se mogu koristiti za ovu stavku sa spiska materijala" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "Količina mora biti ceo broj za delove koji se mogu pratiti" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "Zamenski deo mora biti određen" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "Zamenska stavka sa spiska materijala" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "Zamenski deo ne može biti isti kao glavni deo" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "Nadređena stavka sa spiska materijala" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Zamenski deo" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Deo 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Deo 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "Izaberi povezan deo" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "Beleška za ovu relaciju" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "Relacija između delova ne može biti kreirana između jednog istog dela" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "Identična veza već postoji" @@ -6627,239 +6652,243 @@ msgstr "Deo proizvođača koji se poklapa sa ovim brojem dela proizvođača već msgid "Supplier part matching this SKU already exists" msgstr "Deo dobavljača koji se opklapa sa ovim brojem dela dobavljača već postoji" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Naziv kategorije" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "Izrađivanje" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Stavke sa zaliha" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "Revizije" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Ukupne zalihe" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "Nealocirane zalihe" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "Varijante zaliha" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Dupliraj deo" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "Kopiraj inicijalne podatke od drugog dela" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Početne zalihe" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "Kreiraj deo sa početnom količinom zaliha" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Informacije o dobavljaču" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "Dodaj inicijalne informacije o dobavljaču za ovaj deo" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "Kopiraj parametre kategorije" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "Kopiraj parametarske šablone sa izabrane kategorije dela" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Postojeća slika" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "Ime fajla postojeće slike dela" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "Fajl sa slikom ne postoji" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "Validiraj ceo spisak materijala" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "Može se izgraditi" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Minimalna cena" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "Izmeni izračunatu vrednost za minimalnu cenu" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "Minimalna valuta cene" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Maksimalna cena" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "Izmeni izračunatu vrednost maksimalne cene" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "Maksimalna valuta cene" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Ažuriraj" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "Ažuriraj cene za ovaj deo" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Nija moguća konverzija iz dostavljen valute u {default_currency}" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "Minimalna cena ne sme biti veća od maksimalne cene" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "Maksimalna cena ne sme biti manja od minimalne cene" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "Izaberi nadređeni sklop" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "Izaberi komponentu dela" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "Izaberi deo sa kog će se kopirati spisak materijala" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "Ukloni postojeće podatke" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "Ukloni postojeće stavke sa spiska materijala pre kopiranja" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "Uključi nasleđeno" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "Uključi stavke sa spiska materijala koje su nasleđene od šablonskih delova" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Preskoči nevažeće vrste" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Omogući ovu opciju za preskakanje nevažećih vrsta" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "Kopiraj zamenske delove" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopiraj zamenske delove prilikom duplikacije stavki sa spiska materijala" diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index aea1b556ed..b4963679e4 100644 --- a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -89,6 +89,7 @@ msgstr "Kunde inte konvertera {original} till {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" @@ -270,7 +271,7 @@ msgstr "Ogiltigt val" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Namn" @@ -278,7 +279,7 @@ msgstr "Namn" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Ett fel har loggats av servern." msgid "Image" msgstr "Bild" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Välj valuta från tillgängliga alternativ" @@ -571,11 +572,11 @@ msgstr "Inkludera varianter" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "Inkludera varianter" msgid "Part" msgstr "Del" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Kategori" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Tillverkningen måste avbrytas innan den kan tas bort" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Valfri" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +688,7 @@ msgstr "" msgid "Tracked" msgstr "Spårad" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Testbar" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Tillgänglig" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "" @@ -731,7 +732,7 @@ msgstr "Byggorder" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Byggorder" msgid "Location" msgstr "Plats" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "Tillverknings order referens" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Skapad" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Användare som utfärdade denna tillverknings order" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Ansvarig" @@ -921,7 +922,7 @@ msgstr "" msgid "External Link" msgstr "Extern länk" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Länk till extern URL" @@ -983,7 +984,7 @@ msgstr "Byggutgång matchar inte bygg order" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" @@ -1020,7 +1021,7 @@ msgstr "Bygg objekt" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Destination lagervara" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Delnamn" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Spårbar" @@ -1412,29 +1413,29 @@ msgstr "Spårbar" msgid "Inherited" msgstr "Ärvd" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Tillåt varianter" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "" @@ -1617,7 +1618,7 @@ msgstr "" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktiv" @@ -1731,7 +1732,7 @@ msgstr "Titel" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Länk" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Låst" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2094,7 +2095,7 @@ msgstr "Kryssruta" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Val" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Aktiverad" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Komponent" @@ -2868,7 +2869,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "" @@ -2876,7 +2877,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "" @@ -2888,7 +2889,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Virtuell" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4323,7 +4324,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4355,7 +4356,7 @@ msgstr "" msgid "Company Name" msgstr "Företagsnamn" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "I lager" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "Fel" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Giltig" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "SKU" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "Använder" @@ -5833,7 +5834,7 @@ msgstr "Delkategori" msgid "Part Categories" msgstr "" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5882,632 +5883,656 @@ msgstr "Standardvärde" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Artiklar" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Delnamn" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Är mall" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Variant av" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Nyckelord" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Delkategori" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Revision" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Datum" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Validerad" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Kategorinamn" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "Revisioner" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Uppdatera" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Hoppa över ogiltiga rader" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index 4c068fe3de..8275ecb189 100644 --- a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -89,6 +89,7 @@ msgstr "" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "ปริมาณสินค้าไม่ถูกต้อง" @@ -270,7 +271,7 @@ msgstr "" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "ชื่อ" @@ -278,7 +279,7 @@ msgstr "ชื่อ" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "สกุลเงิน" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +688,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "" @@ -711,8 +712,8 @@ msgid "Available" msgstr "" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "" @@ -731,7 +732,7 @@ msgstr "" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "" msgid "Location" msgstr "สถานที่" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -921,7 +922,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "" @@ -983,7 +984,7 @@ msgstr "" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "จำนวนต้องมีค่ามากกว่า 0" @@ -1020,7 +1021,7 @@ msgstr "" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "" @@ -1412,29 +1413,29 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "" @@ -1617,7 +1618,7 @@ msgstr "" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1731,7 +1732,7 @@ msgstr "" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "ลิงก์" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2094,7 +2095,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "" @@ -2868,7 +2869,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "" @@ -2876,7 +2877,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "" @@ -2888,7 +2889,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4323,7 +4324,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4355,7 +4356,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "" msgid "Part Categories" msgstr "" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5882,632 +5883,656 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "ชิ้นส่วน" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index 76ae69d373..52c6853ef1 100644 --- a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -89,6 +89,7 @@ msgstr "{original} birimi {unit} birimine dönüştürülemedi" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" @@ -270,7 +271,7 @@ msgstr "Geçersiz seçim" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Adı" @@ -278,7 +279,7 @@ msgstr "Adı" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Bir hafta sunucu tarafından kayıt edildi." msgid "Image" msgstr "Görsel" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Para birimi" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Mevcut seçeneklerden para birimini seçin" @@ -571,11 +572,11 @@ msgstr "Varyantları Dahil Et" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "Varyantları Dahil Et" msgid "Part" msgstr "Parça" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Kategori" @@ -669,16 +670,16 @@ msgstr "Ağacı Hariç Tut" msgid "Build must be cancelled before it can be deleted" msgstr "Üretim silinemeden önce iptal edilmelidir" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Sarf Malzemesi" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "İsteğe Bağlı" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Montaj" @@ -687,7 +688,7 @@ msgstr "Montaj" msgid "Tracked" msgstr "İzlenen" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Test Edilebilir" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Mevcut" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "Siparişte" @@ -731,7 +732,7 @@ msgstr "Üretim Emri" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Üretim Emri" msgid "Location" msgstr "Konum" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "Çıktı" @@ -785,7 +786,7 @@ msgstr "Üretim Emri Referansı" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Bu üretim çıktısının parti kodu" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Oluşturulma tarihi" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "Bu üretim emrini düzenleyen kullanıcı" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Sorumlu" @@ -921,7 +922,7 @@ msgstr "Bu üretim emrinden sorumlu kullanıcı veya grup" msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" @@ -983,7 +984,7 @@ msgstr "Üretim çıktısı, üretim emri ile eşleşmiyor" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Miktar sıfırdan büyük olmalıdır" @@ -1020,7 +1021,7 @@ msgstr "Üretim nesnesi" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Hedef stok kalemi" msgid "Build Level" msgstr "Üretim Seviyesi" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Parça Adı" @@ -1404,7 +1405,7 @@ msgstr "Üretim Referansı" msgid "Part Category Name" msgstr "Parça Kategorisi Adı" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Takip Edilebilir" @@ -1412,29 +1413,29 @@ msgstr "Takip Edilebilir" msgid "Inherited" msgstr "Devralınmış" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Varyantlara İzin Ver" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "ML Ögesi" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "Üretimde" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "Üretim için Planlandı" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Harici Stok" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Mevcut Stok" @@ -1617,7 +1618,7 @@ msgstr "Anahtar dizesi benzersiz olmalı" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Bu web kancası için ad" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktif" @@ -1731,7 +1732,7 @@ msgstr "Başlık" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Bağlantı" @@ -1962,7 +1963,7 @@ msgstr "Seçim listesinin adı" msgid "Description of the selection list" msgstr "Seçim listesinin açıklaması" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Kilitli" @@ -2058,7 +2059,7 @@ msgstr "Onay kutusu parametrelerinin birimleri olamaz" msgid "Checkbox parameters cannot have choices" msgstr "Onay kutusu parametrelerinin seçenekleri olamaz" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "Seçenekler eşsiz olmalıdır" @@ -2074,7 +2075,7 @@ msgstr "Bu parametre şablonu için hedef modeli türü" msgid "Parameter Name" msgstr "Parametre Adı" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Birim" @@ -2094,7 +2095,7 @@ msgstr "Onay kutusu" msgid "Is this parameter a checkbox?" msgstr "Bu parametre bir onay kutusu mu?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Seçenekler" @@ -2106,7 +2107,7 @@ msgstr "Bu parametre için geçerli seçenekler (virgül ile ayrılmış)" msgid "Selection list for this parameter" msgstr "Bu parametre için seçim listesi" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Etkin" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "Parametre Değeri" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "Parçaları varsayılan olan şablondur" msgid "Parts can be assembled from other components by default" msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Bileşen" @@ -2868,7 +2869,7 @@ msgstr "Bileşen" msgid "Parts can be used as sub-components by default" msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Satın Alınabilir" @@ -2876,7 +2877,7 @@ msgstr "Satın Alınabilir" msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Satılabilir" @@ -2888,7 +2889,7 @@ msgstr "Parçalar varsayılan olarak satılabilir" msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Sanal" @@ -4298,11 +4299,11 @@ msgstr "Harici tedarikçi parçası bağlantısı için URL" msgid "Supplier part description" msgstr "Tedarikçi parçası açıklaması" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum ücret (örneğin stoklama ücreti)" @@ -4323,7 +4324,7 @@ msgstr "Paket Miktarı" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Tek bir pakette tedarik edilen toplam miktar. Tekli ürünler için boş bırakın." -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "çoklu" @@ -4355,7 +4356,7 @@ msgstr "Bu tedarikçi için kullanılan varsayılan para birimi" msgid "Company Name" msgstr "Şirket Adı" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "Stokta" @@ -4519,7 +4520,7 @@ msgstr "Orijinal satır verisi" msgid "Errors" msgstr "Hatalar" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Geçerli" @@ -5488,7 +5489,7 @@ msgstr "Aynı parça, hedef ve hedef tarihe sahip kalemleri tek bir satırda bir msgid "SKU" msgstr "SKU" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Dahili Parça Numarası" @@ -5764,63 +5765,63 @@ msgstr "Revizyon mu" msgid "Has Revisions" msgstr "Revizyonu Olanlar" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "BOM Geçerli" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "Kategorileri Kademele" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "Etkin ise, verilen kategorinin alt kategorilerindeki ögeleri dahil et" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Sayısal kategori ID veya 'null' sabitine göre filtrele" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "Montaj parçası etkin" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "Montaj parçası takip edilebilir" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "Montaj test edilebilir" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "Bileşen etkin" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "Bileşen takip edilebilir" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "Bileşen test edilebilir" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "Bileşen bir montaj parçası" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "Bileşen sanal" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "Stok mevcut" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "Kullanımlar" @@ -5833,7 +5834,7 @@ msgstr "Parça Kategorisi" msgid "Part Categories" msgstr "Parça Kategorileri" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Varsayılan Konum" @@ -5882,632 +5883,656 @@ msgstr "Varsayılan Değer" msgid "Default Parameter Value" msgstr "Varsayılan Parametre Değeri" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Parçalar" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "Kilitli bir parçanın parametreleri silinemez" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "Kilitli bir parçanın parametreleri değiştirilemez" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "Bu parça kilitli olduğu için silinemez" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "Bu parça hala aktif olduğundan silinemez" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "Bu parça bir montajda kullanıldığından silinemez" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "'{self}' parçası, '{parent}' için BOM'da kullanılamaz (yinelemeli)" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "'{parent}' parçası, '{self}' için BOM'da kullanılır (yinelemeli)" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN, düzenli ifade kalıbı {pattern} ile eşleşmelidir" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "Parça, kendisinin revizyonu olamaz" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "Revizyonlara yalnızca montaj parçaları için izin verilir" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "Bir şablon parçanın revizyonu yapılamaz" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "Üst parça aynı şablonu göstermelidir" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "Bu seri numarasına sahip stok kalemi zaten var" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "Kopyası oluşturulan parça revizyonu zaten var." -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "Bu Ad, IPN ve Revizyona sahip parça zaten var." -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "Parçalar yapısal parça kategorilerine atanamaz!" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Parça adı" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "Bu parça başka bir parçanın varyantı mı?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Şunun Varyantı" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Anahtar kelimeler" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "Arama sonuçlarında görünürlüğü artırmak için parça anahtar kelimeleri" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Parça kategorisi" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "DPN" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Revizyon" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "Bu parça başka bir parçanın revizyonu mu?" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "Şunun Revizyonu" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "Bu kalem normalde nerede depolanır?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Varsayılan Son Kullanma" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "Bu parçanın stok kalemleri için son kullanma süresi (gün olarak)" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Minimum Stok" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "İzin verilen minimum stok düzeyi" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Bu parça için ölçü birimleri" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan üretilebilir mi?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "Bu parça diğer parçaların üretiminde kullanılabilir mi?" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "Bu parçanın benzersiz kalemler için izleme özelliği var mı?" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "Bu parçanın test sonuçları kaydedilebilir mi?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "Kilitli parçalar değiştirilemez" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "Bu, yazılım ürünü veya lisans gibi sanal bir parça mı?" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "BOM Doğrulandı" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "Bu parçanın BOM'u geçerli mi?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "BOM sağlama toplamı" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "Saklanan BOM sağlama toplamı" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "BOM'u kontrol eden" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "BOM kontrol tarihi" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "Bu parçanın sorumlu sahibi" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Birden fazla sat" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "Fiyat hesaplamalarını önbelleğe almak için kullanılan para birimi" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "Minimum BOM Maliyeti" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "Bileşenlerin minimum maliyeti" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "Maksimum BOM Maliyeti" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "Bileşenlerin maksimum maliyeti" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "Minimum Satın Alma Maliyeti" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "Minimum tarihsel satın alma maliyeti" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "Maksimum Satın Alma Maliyeti" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "Maksimum tarihsel satın alma maliyeti" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "Minimum Dahili Fiyat" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "Dahili fiyat kademelerine dayalı minimum maliyet" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "Maksimum Dahili Fiyat" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "Dahili fiyat kademelerine dayalı maksimum maliyet" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "Minimum Tedarikçi Fiyatı" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "Parça için minimum dış tedarikçi fiyatı" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "Maksimum Tedarikçi Fiyatı" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "Parça için maksimum dış tedarikçi fiyatı" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "Minimum Varyant Maliyeti" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "Varyant parçaların hesaplanan minimum maliyeti" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "Maksimum Varyant Maliyeti" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "Varyant parçaların hesaplanan maksimum maliyeti" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "Minimum Maliyet" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "Minimum maliyeti geçersiz kıl" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "Maksimum Maliyet" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "Maksimum maliyeti geçersiz kıl" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "Hesaplanan genel minimum maliyet" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "Hesaplanan genel maksimum maliyet" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "Minimum Satış Fiyatı" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "Fiyat kademelerine dayalı minimum satış fiyatı" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "Maksimum Satış Fiyatı" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "Fiyat kademelerine dayalı maksimum satış fiyatı" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "Minimum Satış Maliyeti" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "Minimum tarihsel satış fiyatı" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "Maksimum Satış Maliyeti" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "Maksimum tarihsel satış fiyatı" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "Stok sayımı için parça" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "Kalem Sayısı" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "Sayım anındaki tekil stok kaydı sayısı" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "Sayım anındaki toplam mevcut stok" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Tarih" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "Stok sayımının yapıldığı tarih" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "Minimum Stok Maliyeti" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "Mevcut stokun tahmini minimum maliyeti" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "Maksimum Stok Maliyeti" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "Mevcut stokun tahmini maksimum maliyeti" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "Parça Satış Fiyat Kademesi" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "Parça Test Şablonu" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Geçersiz şablon adı - en az bir alfasayısal karakter içermelidir" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "Test şablonları sadece test edilebilir paçalar için oluşturulabilir" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "Aynı anahtara sahip test şablonu parça için zaten mevcut" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "Test için bir ad girin" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "Test Anahtarı" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "Test için basitleştirilmiş anahtar" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Bu test için açıklama girin" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "Bu test etkinleştirildi mi?" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Gerekli" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Değer Gerektirir" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "Bir test sonucu eklerken bu test bir değer gerektirir mi?" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Ek Gerektirir" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "Bir test sonucu eklerken bu test bir dosya eki gerektirir mi?" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "Bu test için geçerli seçenekler (virgül ile ayrılmış)" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "Miktar sıfır veya daha büyük olmalıdır" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "BOM kalemi değiştirilemez - montaj kilitlidir" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "BOM kalemi değiştirilemez - varyant montajı kilitlidir" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Üst parçayı seçin" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Alt parça" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "BOM'da kullanılacak parçayı seçin" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Bu BOM kalemi için BOM miktarı" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Bu BOM kalemi isteğe bağlıdır" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Bu BOM kalemi bir sarf malzemesidir (üretim emirlerinde izlenmez)" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "Hazırlık Payı" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "Bir üretimdeki hazırlık kayıplarını telafi etmek için gereken ek miktar" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "Fire" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Bir üretim için tahmini fire oranı, yüzde olarak ifade edilir (0-100)" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "Kat Yuvarlama" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "Gerekli üretim miktarını bu değerin en yakın katına yuvarlayın" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "BOM kalemi referansı" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "BOM kalemi notları" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Sağlama Toplamı" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "BOM satırı sağlama toplamı" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Doğrulandı" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "Bu BOM kalemi doğrulandı" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "Devralınır" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Bu BOM kalemi, varyant parçaların BOM'larından devralınmıştır" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Varyant parçaların stok kalemleri bu BOM kalemi için kullanılabilir" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "İzlenebilir parçalar için miktar tamsayı olmalıdır" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "Alt parça belirtilmelidir" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "BOM Kalemi Muadili" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "Muadil parça ile asıl parça aynı olamaz" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "Üst BOM kalemi" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Muadil parça" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Parça 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Parça 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "İlgili Parçayı Seçin" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "Bu ilişki için not" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "Bir parça ile kendisi arasında parça ilişkisi oluşturulamaz" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "Kopyalanan ilişki zaten mevcut" @@ -6627,239 +6652,243 @@ msgstr "Bu MPN ile eşleşen üretici parçası zaten mevcut" msgid "Supplier part matching this SKU already exists" msgstr "Bu SKU ile tedarikçi parçası zaten mevcut" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Kategori Adı" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "Üretiliyor" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "Bu parçanın şu anda üretimde olan miktarı" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Bu parçanın üretilmesi planlanan açık miktarı" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Stok Kalemleri" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "Revizyonlar" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Toplam Stok" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "Tahsis Edilmemiş Stok" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "Varyant Stoku" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Parçanın Kopyasını Oluştur" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "Başlangıç verisini diğer parçadan kopyala" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Başlangıç Stoku" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "Başlangıç stok miktarı ile parça oluştur" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Tedarikçi Bilgileri" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "Bu parça için ilk tedarikçi bilgilerini ekleyin" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "Kategori Parametrelerini Kopyala" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "Seçilen parça kategorisinden parametre şablonlarını kopyala" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Mevcut Görsel" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "Mevcut parça görselinin dosya adı" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "Görsel dosyası mevcut değil" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "Tüm ürün ağacını doğrula" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "Üretebilir Miktar" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "Üretim Emirleri için Gerekli" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "Üretim Emirlerine Tahsis Edildi" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "Satış Siparişleri için Gerekli" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "Satış Siparişlerine Tahsis Edildi" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "Parça DPN" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "Parça Açıklaması" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "Stok sayımı bilgisi oluşturmak üzere bir parça (ve varsa varyantlarını) seçin" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "Kategorideki (ve alt kategorilerdeki) tüm parçaları dahil etmek için bir kategori seçin" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "Konumda (ve alt konumlarda) stoğu bulunan tüm parçaları dahil etmek için bir konum seçin" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "Stok Sayımı Kayıtları Oluşturun" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "Seçili parçalar için stok sayımı girdilerini kaydedin" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "Rapor Oluştur" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "Seçili parçalar için stok sayımı raporu oluşturun" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Minimum Fiyat" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "Minimum fiyat için hesaplanan değeri geçersiz kıl" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "Minimum fiyat para birimi" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Maksimum Fiyat" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "Maksimum fiyat için hesaplanan değeri geçersiz kıl" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "Maksimum fiyat para birimi" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Güncelle" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "Bu parçanın fiyatlandırmasını güncelle" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Sağlanan para birimlerinden {default_currency} para birimine dönüştürülemedi" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "Minimum fiyat maksimum fiyattan yüksek olamaz" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "Maksimum fiyat minimum fiyattan düşük olamaz" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" -msgstr "Miktar sıfır veya daha büyük olmalıdır" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" +msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "Üst montajı seçin" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "Bileşeni seçin" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "BOM'u kopyalanacak parçayı seçin" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "Mevcut Verileri Temizle" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "Kopyalamadan önce mevcut BOM kalemlerini temizle" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "Devralınanı Dahil Et" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "Şablon parçalardan devralınan BOM kalemlerini dahil et" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Geçersiz Satırları Atla" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "Geçersiz satırları atlamak için bu seçeneği etkinleştir" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "Muadil Parçaları Kopyala" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "BOM kalemlerinin kopyasını oluştururken muadil parçaları kopyala" diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po index b17fd1106d..c40a94d524 100644 --- a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -89,6 +89,7 @@ msgstr "Не вдалося перетворити {original} на {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Невірна кількість" @@ -270,7 +271,7 @@ msgstr "" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Назва" @@ -278,7 +279,7 @@ msgstr "Назва" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "" msgid "Image" msgstr "Зображення" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "Деталь" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Розхідний матеріал" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Збірка" @@ -687,7 +688,7 @@ msgstr "Збірка" msgid "Tracked" msgstr "" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Тестуємо" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Доступно" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "" @@ -731,7 +732,7 @@ msgstr "" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "" msgid "Location" msgstr "Місце" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -921,7 +922,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "" @@ -983,7 +984,7 @@ msgstr "" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" @@ -1020,7 +1021,7 @@ msgstr "" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "" @@ -1404,7 +1405,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "" @@ -1412,29 +1413,29 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Дозволити варіанти" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "У виробництві" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "" @@ -1617,7 +1618,7 @@ msgstr "" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1731,7 +1732,7 @@ msgstr "Назва" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Посилання" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "Заблоковано" @@ -2058,7 +2059,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "" @@ -2094,7 +2095,7 @@ msgstr "Прапорець" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "" @@ -2106,7 +2107,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Компонент" @@ -2868,7 +2869,7 @@ msgstr "Компонент" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "" @@ -2876,7 +2877,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Доступний для продажу" @@ -2888,7 +2889,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Віртуальний" @@ -4298,11 +4299,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "Базова вартість" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Мінімальний платіж (напр. комісія за збереження)" @@ -4323,7 +4324,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "" @@ -4355,7 +4356,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "В наявності" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Дійсно" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "" msgid "Part Categories" msgstr "" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "" @@ -5882,632 +5883,656 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Позиції" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "Неможливо видалити цю позицію, оскільки вона заблокована" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "Неможливо видалити цю позицію, оскільки вона ще активна" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "Неможливо видалити цю позицію, бо вона використовується у збірці" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Назва позиції" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Це шаблон" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "Ця позиція є шаблоном?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Опис позиції (опціонально)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Ревізія" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "Ревізія" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Мінімальний запас" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "Мінімально дозволений рівень запасів" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Одиниці виміру для цієї позиції" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "Чи можна побудувати цю позицію з інших компонентів?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Дата" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Тестова назва" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Позиція 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Позиція 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "" @@ -6627,239 +6652,243 @@ msgstr "" msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Початковий запас" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Наявне зображення" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Мінімальна ціна" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Максимальна ціна" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 -msgid "Select part to copy BOM from" -msgstr "" - -#: part/serializers.py:1999 -msgid "Remove Existing Data" -msgstr "" - -#: part/serializers.py:2000 -msgid "Remove existing BOM items before copying" +#: part/serializers.py:1877 +msgid "Invalid quantity format" msgstr "" #: part/serializers.py:2005 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:2013 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:2014 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "" diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index d4a8bac8b4..835431aad1 100644 --- a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:11\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -89,6 +89,7 @@ msgstr "Không thể chuyển đổi {original} sang {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "Số lượng cung cấp không hợp lệ" @@ -270,7 +271,7 @@ msgstr "Lựa chọn sai" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "Tên" @@ -278,7 +279,7 @@ msgstr "Tên" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "Lỗi đã được ghi lại bởi máy chủ." msgid "Image" msgstr "Hình ảnh" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "Phải là một số hợp lệ" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "Tiền tệ" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "Chọn tiền tệ trong các tùy chọn đang có" @@ -571,11 +572,11 @@ msgstr "" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "" msgid "Part" msgstr "Nguyên liệu" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "Danh mục" @@ -669,16 +670,16 @@ msgstr "" 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:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "Vật tư tiêu hao" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "Tuỳ chọn" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "Lắp ráp" @@ -687,7 +688,7 @@ msgstr "Lắp ráp" msgid "Tracked" msgstr "Đã theo dõi" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "Có thể kiểm tra" @@ -711,8 +712,8 @@ msgid "Available" msgstr "Có sẵn" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "Bật đơn hàng" @@ -731,7 +732,7 @@ msgstr "Tạo đơn hàng" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "Tạo đơn hàng" msgid "Location" msgstr "Địa điểm" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "" @@ -785,7 +786,7 @@ msgstr "Tham chiếu đơn đặt bản dựng" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "Mã lô cho đầu ra bản dựng này" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "Ngày tạo" @@ -908,7 +909,7 @@ 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:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Chịu trách nhiệm" @@ -921,7 +922,7 @@ msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt bản msgid "External Link" msgstr "Liên kết bên ngoài" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "Liên kết đến URL bên ngoài" @@ -983,7 +984,7 @@ msgstr "Đầu ra bản dựng không phù hợp với đơn đặt bản dựng #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Số lượng phải lớn hơn 0" @@ -1020,7 +1021,7 @@ msgstr "Dựng đối tượng" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "Kho hàng đích" msgid "Build Level" msgstr "Tạo cấp" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "Tên sản phẩm" @@ -1404,7 +1405,7 @@ msgstr "Tạo liên quan" msgid "Part Category Name" msgstr "Tên danh mục hàng hoá" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "Có thể theo dõi" @@ -1412,29 +1413,29 @@ msgstr "Có thể theo dõi" msgid "Inherited" msgstr "Được kế thừa" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "Cho phép biến thể" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "Mục BOM" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "Đang sản xuất" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "Kho ngoài" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "Số hàng tồn" @@ -1617,7 +1618,7 @@ msgstr "Chuỗi khóa phải duy nhất" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "Tên của webhook này" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Hoạt động" @@ -1731,7 +1732,7 @@ msgstr "Tiêu đề" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Liên kết" @@ -1962,7 +1963,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "" @@ -2058,7 +2059,7 @@ msgstr "Tham số hộp kiểm tra không thể có đơn vị" msgid "Checkbox parameters cannot have choices" msgstr "Tham số hộp kiểm tra không thể có lựa chọn" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "Lựa chọn phải duy nhất" @@ -2074,7 +2075,7 @@ msgstr "" msgid "Parameter Name" msgstr "Tên tham số" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "Đơn vị" @@ -2094,7 +2095,7 @@ msgstr "Ô lựa chọn" msgid "Is this parameter a checkbox?" msgstr "Tham số này có phải là hộp kiểm tra?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "Lựa chọn" @@ -2106,7 +2107,7 @@ msgstr "Lựa chọn hợp lệ từ tham số này (ngăn cách bằng dấu ph msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "Đã bật" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "Giá trị tham số" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "Sản phẩm là mẫu bởi mặc định" 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/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "Thành phần" @@ -2868,7 +2869,7 @@ msgstr "Thành phần" 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/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "Có thể mua" @@ -2876,7 +2877,7 @@ msgstr "Có thể mua" msgid "Parts are purchaseable by default" msgstr "Sản phẩm mặc định có thể mua được" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "Có thể bán" @@ -2888,7 +2889,7 @@ msgstr "Sản phẩm mặc định có thể bán được" msgid "Parts are trackable by default" msgstr "Sản phẩm mặc định có thể theo dõi được" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "Ảo" @@ -4298,11 +4299,11 @@ msgstr "URL cho liên kết sản phẩm của nhà cung cấp bên ngoài" msgid "Supplier part description" msgstr "Mô tả sản phẩm nhà cung cấp" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "chi phí cơ sở" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "Thu phí tối thiểu (vd: phí kho bãi)" @@ -4323,7 +4324,7 @@ msgstr "Số lượng gói" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Tổng số lượng được cung cấp trong một gói đơn. Để trống cho các hàng hóa riêng lẻ." -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "nhiều" @@ -4355,7 +4356,7 @@ msgstr "Tiền tệ mặc định được sử dụng cho nhà cung cấp này" msgid "Company Name" msgstr "" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "Còn hàng" @@ -4519,7 +4520,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "Hợp lệ" @@ -5488,7 +5489,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "Mã sản phẩm nội bộ" @@ -5764,63 +5765,63 @@ msgstr "" msgid "Has Revisions" msgstr "" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "" @@ -5833,7 +5834,7 @@ msgstr "Danh mục sản phẩm" msgid "Part Categories" msgstr "Danh mục sản phẩm" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "Điểm bán mặc định" @@ -5882,632 +5883,656 @@ msgstr "Giá trị mặc định" msgid "Default Parameter Value" msgstr "Giá trị tham số mặc định" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "Nguyên liệu" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, 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:701 +#: part/models.py:702 #, 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:768 +#: part/models.py:769 #, 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:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:901 +#: part/models.py:902 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:1031 +#: part/models.py:1032 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:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1054 +#: part/models.py:1055 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:1069 +#: part/models.py:1070 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:1101 +#: part/models.py:1102 msgid "Part name" msgstr "Tên sản phẩm" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "Là Mẫu" -#: part/models.py:1107 +#: part/models.py:1108 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:1117 +#: part/models.py:1118 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:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "Biến thể của" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "Mô tả (không bắt buộc)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "Từ khóa" -#: part/models.py:1133 +#: part/models.py:1134 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:1143 +#: part/models.py:1144 msgid "Part category" msgstr "Danh mục sản phẩm" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1158 +#: part/models.py:1159 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:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "Phiên bản" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "Hàng hóa này sẽ được cất vào đâu?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "Hết hạn mặc định" -#: part/models.py:1223 +#: part/models.py:1224 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:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "Kho tối thiểu" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "Cấp độ kho tối thiểu được phép" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "Đơn vị đo cho sản phẩm này" -#: part/models.py:1248 +#: part/models.py:1258 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:1254 +#: part/models.py:1264 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:1260 +#: part/models.py:1270 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:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 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:1278 +#: part/models.py:1288 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:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "Sản phẩm này đang hoạt động?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1294 +#: part/models.py:1304 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:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "Giá trị tổng kiểm BOM" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "Giá trị tổng kiểm BOM đã được lưu" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "BOM kiểm tra bởi" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "Ngày kiểm tra BOM" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "Tạo người dùng" -#: part/models.py:1346 +#: part/models.py:1356 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:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "Bán nhiều" -#: part/models.py:3317 +#: part/models.py:3327 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:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "Chi phí BOM tối thiểu" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối thiểu" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "Chi phí BOM tối đa" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối đa" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "Chi phí mua vào tối thiểu" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "Chi phí mua vào tối thiểu trong lịch sử" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "Chi phí mua tối đa" -#: part/models.py:3355 +#: part/models.py:3365 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:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "Giá nội bộ tối thiểu" -#: part/models.py:3362 +#: part/models.py:3372 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:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "Giá nội bộ tối đa" -#: part/models.py:3369 +#: part/models.py:3379 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:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "Giá nhà cung ứng tối thiểu" -#: part/models.py:3376 +#: part/models.py:3386 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:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "Giá nhà cung ứng tối đa" -#: part/models.py:3383 +#: part/models.py:3393 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:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "Giá trị biến thể tối thiểu" -#: part/models.py:3390 +#: part/models.py:3400 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:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "Chi phí biến thể tối đa" -#: part/models.py:3397 +#: part/models.py:3407 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:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "Chi phí tối thiểu" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "Ghi đề chi phí tối thiểu" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "Chi phí tối đa" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "Ghi đề chi phí tối đa" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "Chi phí tối thiểu tính toán tổng thể" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "Chi phí tối đa tính toán tổng thể" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "Giá bán thấp nhất" -#: part/models.py:3432 +#: part/models.py:3442 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:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "Giá bán cao nhất" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "Giá bán cao nhất dựa trên phá giá" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "Chi phí bán hàng tối thiểu" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "Giá bán hàng tối thiểu trong lịch sử" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "Giá bán hàng tối đa" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "Giá bán hàng tối đa trong lịch sử" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "Sản phẩm dành cho kiểm kê" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "Tổng số hàng" -#: part/models.py:3477 +#: part/models.py:3487 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:3485 +#: part/models.py:3495 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:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "Ngày" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "Kiểm kê đã thực hiện" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "Chi phí kho tối thiểu" -#: part/models.py:3498 +#: part/models.py:3508 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:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "Chi phí kho tối đa" -#: part/models.py:3505 +#: part/models.py:3515 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:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "Tên kiểm thử" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "Nhập tên cho kiểm thử" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "Mô tả kiểm thử" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "Nhập mô tả cho kiểm thử này" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "Bắt buộc" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "Kiểm thử này bắt buộc phải đạt?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "Giá trị bắt buộc" -#: part/models.py:3750 +#: part/models.py:3760 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:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "Yêu cầu đính kèm" -#: part/models.py:3757 +#: part/models.py:3767 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:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "Chọn sản phẩm cha" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "Sản phẩm phụ" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "Chọn sản phẩm được dùng trong BOM" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "Số lượng BOM cho mục BOM này" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "Mục BOM này là tùy chọn" -#: part/models.py:4012 +#: part/models.py:4082 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:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "Tham chiếu mục BOM" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "Ghi chú mục BOM" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "Giá trị tổng kiểm" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "Giá trị tổng kiểm dòng BOM" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "Đã xác minh" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "Mục BOM này là hợp lệ" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "Nhận thừa hưởng" -#: part/models.py:4079 +#: part/models.py:4149 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:4085 +#: part/models.py:4155 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:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 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:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "Sản phẩm phụ phải được chỉ định" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "Sảm phẩm thay thế mục BOM" -#: part/models.py:4378 +#: part/models.py:4446 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:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "Hàng hóa BOM cha" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "Sản phẩm thay thế" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "Sản phẩm 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "Sản phẩm 2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "Chọn sản phẩm liên quan" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "" -#: part/models.py:4450 +#: part/models.py:4518 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:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "Đã tồn tại mối quan hệ trùng lặp" @@ -6627,239 +6652,243 @@ msgstr "Mã số nhà sản xuất khớp với MPN này đã tồn tại" 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:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "Tên danh mục" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "Đang dựng" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "Hàng trong kho" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Tổng số lượng" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "Nhân bản sản phẩm" -#: part/serializers.py:969 +#: part/serializers.py:974 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:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "Số liệu kho ban đầu" -#: part/serializers.py:976 +#: part/serializers.py:981 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:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "Thông tin nhà cung cấp" -#: part/serializers.py:983 +#: part/serializers.py:988 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:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:993 +#: part/serializers.py:998 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:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "Ảnh hiện có" -#: part/serializers.py:999 +#: part/serializers.py:1004 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:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "Tệp hình ảnh không tồn tại" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "Xác minh toàn bộ hóa đơn vật liệu" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "Có thể dựng" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "Giá thấp nhất" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "Giá trị tính toán ghi đè cho giá tối thiểu" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "Tiền tế giá tối thiểu" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "Giá cao nhất" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "Giá trị tính toán ghi đè cho giá tối đa" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "Tiền tế giá tối đa" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "Cập nhật" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "Cập nhật giá cho sản phẩm này" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, 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:1560 +#: part/serializers.py:1565 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:1563 +#: part/serializers.py:1568 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:1716 -msgid "Quantity must be greater than or equal to zero" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 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:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "Xóa dữ liệu đã tồn tại" -#: part/serializers.py:2000 +#: part/serializers.py:2014 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:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "Bao gồm thừa hưởng" -#: part/serializers.py:2006 +#: part/serializers.py:2020 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:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "Bỏ qua dòng không hợp lệ" -#: part/serializers.py:2012 +#: part/serializers.py:2026 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:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "Sao chép sản phẩm thay thế" -#: part/serializers.py:2018 +#: part/serializers.py:2032 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" diff --git a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index 30239568ce..132cf94f44 100644 --- a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-11 01:55\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -89,6 +89,7 @@ msgstr "不能将 {original} 转换到 {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "提供的数量无效" @@ -165,7 +166,7 @@ msgstr "数据包含禁止的 markdown 内容" #: InvenTree/helpers_model.py:109 msgid "Invalid URL: no hostname" -msgstr "URL无效:无主机名" +msgstr "无效URL:没有主机名" #: InvenTree/helpers_model.py:114 msgid "Invalid URL: hostname could not be resolved" @@ -270,7 +271,7 @@ msgstr "无效选项" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "名称" @@ -278,7 +279,7 @@ msgstr "名称" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "服务器记录了一个错误。" msgid "Image" msgstr "图像" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "货币" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "从可用选项中选择货币" @@ -571,11 +572,11 @@ msgstr "包含变体" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "包含变体" msgid "Part" msgstr "零件" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "类别" @@ -669,16 +670,16 @@ msgstr "排除树" msgid "Build must be cancelled before it can be deleted" msgstr "生产订单必须取消后才能删除" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "耗材" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "可选项" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "装配件" @@ -687,7 +688,7 @@ msgstr "装配件" msgid "Tracked" msgstr "可追溯" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "需检测" @@ -711,8 +712,8 @@ msgid "Available" msgstr "可用数量" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "已订购" @@ -731,7 +732,7 @@ msgstr "生产订单" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "生产订单" msgid "Location" msgstr "库存位置" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "产出" @@ -785,7 +786,7 @@ msgstr "生产订单编号" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "本批产出的批次编号" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "建立日期" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "创建该生产订单的用户" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "责任方" @@ -921,7 +922,7 @@ msgstr "该生产订单的责任人或责任团队" msgid "External Link" msgstr "外部链接" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "指向外部资源的URL链接" @@ -983,7 +984,7 @@ msgstr "产出与生产订单不匹配" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "数量必须大于零" @@ -1020,7 +1021,7 @@ msgstr "生产对象" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "目标库存项" msgid "Build Level" msgstr "生产等级" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "零件名称" @@ -1404,7 +1405,7 @@ msgstr "生产订单编号" msgid "Part Category Name" msgstr "零件类别名称" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "可追踪" @@ -1412,29 +1413,29 @@ msgstr "可追踪" msgid "Inherited" msgstr "已继承的" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "允许变体" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "物料清单项" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "生产中" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "生产计划" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "外部库存" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "可用库存" @@ -1617,7 +1618,7 @@ msgstr "键字符串必须是唯一的" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "此网络钩子的名称" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "激活" @@ -1731,7 +1732,7 @@ msgstr "标题" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "链接" @@ -1962,7 +1963,7 @@ msgstr "选择列表的名称" msgid "Description of the selection list" msgstr "选择列表的描述" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "已锁定" @@ -2058,7 +2059,7 @@ msgstr "勾选框参数不能有单位" msgid "Checkbox parameters cannot have choices" msgstr "复选框参数不能有选项" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "选择必须是唯一的" @@ -2074,7 +2075,7 @@ msgstr "此参数模板的目标模型类型" msgid "Parameter Name" msgstr "参数名称" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "单位" @@ -2094,7 +2095,7 @@ msgstr "勾选框" msgid "Is this parameter a checkbox?" msgstr "此参数是否为勾选框?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "选项" @@ -2106,7 +2107,7 @@ msgstr "此参数的有效选择 (逗号分隔)" msgid "Selection list for this parameter" msgstr "此参数的选择列表" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "已启用" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "参数值" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "零件默认为模板" msgid "Parts can be assembled from other components by default" msgstr "默认情况下,元件可由其他零件组装而成" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "组件" @@ -2868,7 +2869,7 @@ msgstr "组件" msgid "Parts can be used as sub-components by default" msgstr "默认情况下,零件可用作子部件" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "可购买" @@ -2876,7 +2877,7 @@ msgstr "可购买" msgid "Parts are purchaseable by default" msgstr "默认情况下可购买零件" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "可销售" @@ -2888,7 +2889,7 @@ msgstr "零件默认为可销售" msgid "Parts are trackable by default" msgstr "默认情况下可跟踪零件" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "虚拟的" @@ -4300,11 +4301,11 @@ msgstr "外部供应商零件链接的URL" msgid "Supplier part description" msgstr "供应商零件说明" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "基本费用" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低费用(例如库存费)" @@ -4325,7 +4326,7 @@ msgstr "包装数量" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "单包供应的总数量。为单个项目留空。" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "多个" @@ -4357,7 +4358,7 @@ msgstr "此供应商使用的默认货币" msgid "Company Name" msgstr "公司名称" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "有库存" @@ -4521,7 +4522,7 @@ msgstr "原始行数据" msgid "Errors" msgstr "错误" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "有效" @@ -5490,7 +5491,7 @@ msgstr "将具有相同零件、目的地和目标日期的项目合并到一个 msgid "SKU" msgstr "库存量单位" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "内部零件编号" @@ -5766,63 +5767,63 @@ msgstr "是修订版本" msgid "Has Revisions" msgstr "有修订版本" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "物料清单合规" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "级联分类" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "如果为真,则包含给定分类下的所有子分类中的项目" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "按数字分类ID或字面值 \"null\" 进行筛选" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "装配零件已启用" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "装配零件可追踪" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "装配部份是可测试的" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "元器件已激活" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "该零部件可追溯" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "组件部份是可测试的" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "该零部件是一个装配件" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "该零部件为虚拟件" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "有可用库存" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "使用" @@ -5835,7 +5836,7 @@ msgstr "零件类别" msgid "Part Categories" msgstr "零件类别" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "默认位置" @@ -5884,632 +5885,656 @@ msgstr "默认值" msgid "Default Parameter Value" msgstr "默认参数值" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "零件" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "无法删除已锁定零件的参数" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "无法修改已锁定零件的参数" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "无法删除这个零件,因为它已被锁定" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "无法删除这个零件,因为它仍然处于活动状态" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "无法删除这个零件,因为它被使用在了装配中" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "零件 \"{self}\" 不能用在 \"{parent}\" 的物料清单 (递归)" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "零件 \"{parent}\" 被使用在了 \"{self}\" 的物料清单 (递归)" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "内部零件号必须匹配正则表达式 {pattern}" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "零件不能是对自身的修订" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "标记为带版本管理的物料必须指定版本代码" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "修订仅对装配零件允许" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "无法对模版零件进行修订" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "上级零件必须指向相同的模版" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "该序列号库存项己存在" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "在零件设置中不允许重复的内部零件号" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "重复的零件修订版本已经存在。" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "有这个名字,内部零件号,和修订版本的零件已经存在" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "零件不能分配到结构性零件类别!" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "零件名称" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "是模板" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "这个零件是一个模版零件吗?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "这个零件是另一零件的变体吗?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "变体" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "零件描述(可选)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "关键词" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的零件关键字" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "零件类别" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "内部零件号 IPN" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "零件修订版本或版本号" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "版本" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "这零件是另一零件的修订版本吗?" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "修订版本" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "该物品通常存放在哪里?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "默认到期" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "此零件库存项的过期时间 (天)" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "最低库存" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "允许的最小库存量" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "此零件的计量单位" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "这个零件可由其他零件加工而成吗?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "这个零件可用于创建其他零件吗?" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "此零件是否有唯一物品的追踪功能" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "这一部件能否记录到测试结果?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "这个零件可从外部供应商购买吗?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "此零件可以销售给客户吗?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "这个零件是否已激活?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "无法编辑锁定的零件" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟零件,例如一个软件产品或许可证吗?" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "物料清单已验证" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "该零件的物料清单是否通过验证?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "物料清单校验和" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "保存的物料清单校验和" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "物料清单检查人" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "物料清单检查日期" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "此零件的负责人" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "出售多个" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "用于缓存定价计算的货币" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "最低物料清单成本" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "元件的最低成本" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "物料清单的最高成本" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "元件的最高成本" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "最低购买成本" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "最高历史购买成本" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "最大购买成本" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "最高历史购买成本" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "最低内部价格" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "基于内部批发价的最低成本" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "最大内部价格" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "基于内部批发价的最高成本" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "供应商最低价格" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "外部供应商零件的最低价格" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "供应商最高价格" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "来自外部供应商的商零件的最高价格" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "最小变体成本" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "计算出的变体零件的最低成本" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "最大变体成本" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "计算出的变体零件的最大成本" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "最低成本" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "覆盖最低成本" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "最高成本" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "覆盖最大成本" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "计算总最低成本" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "计算总最大成本" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "最低售出价格" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "基于批发价的最低售出价格" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "最高售出价格" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "基于批发价的最大售出价格" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "最低销售成本" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "历史最低售出价格" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "最高销售成本" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "历史最高售出价格" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "用于盘点的零件" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "物品数量" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "盘点时的个别库存条目数" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "盘点时可用库存总额" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "日期" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "进行盘点的日期" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "最低库存成本" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "现有存库存最低成本估算" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "最高库存成本" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "目前库存最高成本估算" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "零件售出价格折扣" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "零件测试模板" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "模板名称无效 - 必须包含至少一个字母或者数字" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "测试模板只能为可拆分的部件创建" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "零件已存在具有相同主键的测试模板" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "测试名" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "输入测试的名称" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "测试主键" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "简化测试主键" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "测试说明" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "输入测试的描述" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "此测试是否已启用?" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "必须的" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "需要此测试才能通过吗?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "需要值" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "添加测试结果时是否需要一个值?" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "需要附件" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "添加测试结果时是否需要文件附件?" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "此测试的有效选择 (逗号分隔)" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "数量必须大于或等于零" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "物料清单项目不能被修改 - 装配已锁定" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "物料清单项目不能修改 - 变体装配已锁定" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "选择父零件" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "子零件" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "选择要用于物料清单的零件" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "此物料清单项目的数量" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "此物料清单项目是可选的" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "这个物料清单项目是耗材 (它没有在生产订单中被追踪)" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "设置数量" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "为补偿生产准备损耗所需的额外数量" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "损耗" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "生产预估损耗率(百分比,0-100)" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "舍入倍数" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "将所需生产数量向上舍入至该值的最接近倍数" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "物料清单项目引用" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "物料清单项目注释" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "校验和" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "物料清单行校验和" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "已验证" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "此物料清单项目已验证" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "获取继承的" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "此物料清单项目是由物料清单继承的变体零件" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "变体零件的库存项可以用于此物料清单项目" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "可追踪零件的数量必须是整数" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "必须指定子零件" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "物料清单项目替代品" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "替代品零件不能与主零件相同" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "上级物料清单项目" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "替代品零件" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "零件 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "零件2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "选择相关的零件" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "此关系的注释" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "零件关系不能在零件和自身之间创建" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "复制关系已经存在" @@ -6629,239 +6654,243 @@ msgstr "与此制造商零件编号 (MPN) 的相匹配的制造商零件已存 msgid "Supplier part matching this SKU already exists" msgstr "匹配此库存单位 (SKU) 的供应商零件已存在" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "类别名称" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "正在生产" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "目前正在生产的零件数量" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "此零件计划待产数量" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "库存项" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "修订" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "库存总量" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "未分配的库存" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "变体库存" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "重复零件" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "从另一个零件复制初始数据" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "初始库存" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "创建具有初始库存数量的零件" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "供应商信息" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "添加此零件的初始供应商信息" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "从选择的零件复制参数模版" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "现有的图片" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "现有零件图片的文件名" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "图片不存在" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "验证整个物料清单" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "可以创建" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "生产订单必填项" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "分配到生产订单" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "销售订单必填项" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "分配到销售订单" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "内部零件号" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "零件描述" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "选择一个物料,以生成该物料(及其所有变型物料)的盘点信息" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "选择一个分类,以包含该分类(及其子分类)下的所有物料" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "选择一个库位,以包含该库位(含子库位)中有库存的所有物料" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "生成盘点条目" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "保存所选物料的盘点条目" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "生成报告" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "为所选物料生成盘点报告" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "最低价格" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "覆盖已计算的最低价格值" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "最低价格货币" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "最高价格" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "覆盖已计算的最高价格值" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "最高价格货币" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "更新" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "更新这个零件的价格" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "无法将所提供的货币转换为 {default_currency}" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "最低价格不能高于最高价格。" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "最高价格不能低于最低价格" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" -msgstr "数量必须大于或等于零" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" +msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "选择父装配" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "选择零部件" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "选择要复制物料清单的零件" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "移除现有数据" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "复制前删除现有的物料清单项目" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "包含继承的" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "包含从模板零件继承的物料清单项目" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "跳过无效行" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "启用此选项以跳过无效行" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "复制替代品零件" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "复制物料清单项目时复制替代品零件" diff --git a/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po index 1962cc9a55..59ff6c7672 100644 --- a/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 12:50+0000\n" -"PO-Revision-Date: 2026-05-07 14:10\n" +"POT-Creation-Date: 2026-05-10 10:56+0000\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -89,6 +89,7 @@ msgstr "不能將 {original} 轉換到 {unit}" #: InvenTree/conversion.py:286 InvenTree/conversion.py:300 #: InvenTree/helpers.py:610 order/models.py:747 order/models.py:1042 +#: part/models.py:3946 msgid "Invalid quantity provided" msgstr "提供的數量無效" @@ -270,7 +271,7 @@ msgstr "無效的選項" #: InvenTree/models.py:1022 common/models.py:1441 common/models.py:1868 #: common/models.py:2129 common/models.py:2254 common/models.py:2551 #: common/serializers.py:647 generic/states/serializers.py:20 -#: machine/models.py:25 part/models.py:1101 plugin/models.py:54 +#: machine/models.py:25 part/models.py:1102 plugin/models.py:54 #: report/models.py:219 stock/models.py:86 msgid "Name" msgstr "名稱" @@ -278,7 +279,7 @@ msgstr "名稱" #: InvenTree/models.py:1028 build/models.py:265 common/models.py:178 #: common/models.py:2261 common/models.py:2402 common/models.py:2566 #: company/models.py:558 company/models.py:818 order/models.py:447 -#: order/models.py:1890 part/models.py:1124 report/models.py:225 +#: order/models.py:1890 part/models.py:1125 report/models.py:225 #: report/models.py:818 report/models.py:844 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:92 @@ -336,15 +337,15 @@ msgstr "伺服器紀錄了一個錯誤。" msgid "Image" msgstr "圖像" -#: InvenTree/serializers.py:361 part/models.py:4182 +#: InvenTree/serializers.py:361 msgid "Must be a valid number" msgstr "必須是有效的數字" -#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3316 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3326 msgid "Currency" msgstr "貨幣" -#: InvenTree/serializers.py:406 part/serializers.py:1387 +#: InvenTree/serializers.py:406 part/serializers.py:1392 msgid "Select currency from available options" msgstr "從可用選項中選擇貨幣" @@ -571,11 +572,11 @@ msgstr "包含變體" #: build/serializers.py:1483 company/models.py:1037 company/serializers.py:447 #: order/api.py:311 order/api.py:315 order/api.py:942 order/api.py:1200 #: order/api.py:1203 order/models.py:2008 order/models.py:2176 -#: order/models.py:2177 part/api.py:1134 part/api.py:1137 part/api.py:1354 -#: part/models.py:527 part/models.py:3327 part/models.py:3470 -#: part/models.py:3528 part/models.py:3549 part/models.py:3571 -#: part/models.py:3712 part/models.py:3977 part/models.py:4398 -#: part/serializers.py:1336 part/serializers.py:1990 +#: order/models.py:2177 part/api.py:1151 part/api.py:1154 part/api.py:1371 +#: part/models.py:528 part/models.py:3337 part/models.py:3480 +#: part/models.py:3538 part/models.py:3559 part/models.py:3581 +#: part/models.py:3722 part/models.py:4039 part/models.py:4466 +#: part/serializers.py:1341 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -595,9 +596,9 @@ msgstr "包含變體" msgid "Part" msgstr "零件" -#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:968 -#: part/api.py:1365 part/models.py:412 part/models.py:1142 part/models.py:3599 -#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 +#: build/api.py:121 build/api.py:124 build/serializers.py:1497 part/api.py:985 +#: part/api.py:1382 part/models.py:412 part/models.py:1143 part/models.py:3609 +#: part/serializers.py:1351 part/serializers.py:1776 stock/api.py:868 msgid "Category" msgstr "類別" @@ -669,16 +670,16 @@ msgstr "排除樹" msgid "Build must be cancelled before it can be deleted" msgstr "工單必須被取消才能被刪除" -#: build/api.py:458 build/serializers.py:1424 part/models.py:4011 +#: build/api.py:458 build/serializers.py:1424 part/models.py:4081 msgid "Consumable" msgstr "耗材" -#: build/api.py:461 build/serializers.py:1427 part/models.py:4005 +#: build/api.py:461 build/serializers.py:1427 part/models.py:4075 msgid "Optional" msgstr "非必須項目" #: build/api.py:464 build/serializers.py:1469 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 +#: part/models.py:1257 part/serializers.py:1721 part/serializers.py:1747 #: stock/api.py:638 msgid "Assembly" msgstr "裝配" @@ -687,7 +688,7 @@ msgstr "裝配" msgid "Tracked" msgstr "追蹤中" -#: build/api.py:470 build/serializers.py:1430 part/models.py:1265 +#: build/api.py:470 build/serializers.py:1430 part/models.py:1275 msgid "Testable" msgstr "可測試" @@ -711,8 +712,8 @@ msgid "Available" msgstr "可用數量" #: build/api.py:532 build/serializers.py:1528 company/serializers.py:421 -#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 -#: part/serializers.py:1792 +#: order/serializers.py:1343 part/serializers.py:862 part/serializers.py:1202 +#: part/serializers.py:1785 msgid "On Order" msgstr "已訂購" @@ -731,7 +732,7 @@ msgstr "生產工單" #: build/serializers.py:493 build/serializers.py:563 build/serializers.py:1264 #: build/serializers.py:1270 order/api.py:1247 order/api.py:1252 #: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2141 -#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: part/serializers.py:1361 stock/api.py:986 stock/serializers.py:111 #: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 #: stock/serializers.py:1493 stock/serializers.py:1814 #: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 @@ -739,7 +740,7 @@ msgstr "生產工單" msgid "Location" msgstr "地點" -#: build/api.py:981 part/serializers.py:1381 +#: build/api.py:981 part/serializers.py:1386 msgid "Output" msgstr "產出" @@ -785,7 +786,7 @@ msgstr "生產工單代號" #: build/models.py:259 build/serializers.py:1421 order/models.py:641 #: order/models.py:1354 order/models.py:1838 order/models.py:2781 -#: part/models.py:4051 +#: part/models.py:4121 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -871,7 +872,7 @@ msgid "Batch code for this build output" msgstr "此產出的批號" #: build/models.py:364 order/models.py:484 order/serializers.py:178 -#: part/models.py:1328 +#: part/models.py:1338 msgid "Creation Date" msgstr "建立日期" @@ -908,7 +909,7 @@ msgid "User who issued this build order" msgstr "發布此生產工單的使用者" #: build/models.py:419 common/models.py:187 order/api.py:184 -#: order/models.py:516 part/models.py:1345 +#: order/models.py:516 part/models.py:1355 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "負責人" @@ -921,7 +922,7 @@ msgstr "負責此生產工單的使用者或羣組" msgid "External Link" msgstr "外部連結" -#: build/models.py:427 common/models.py:2017 part/models.py:1176 +#: build/models.py:427 common/models.py:2017 part/models.py:1177 #: stock/models.py:1116 msgid "Link to external URL" msgstr "外部URL連結" @@ -983,7 +984,7 @@ msgstr "產出與生產訂單不匹配" #: build/models.py:1120 build/models.py:1226 build/serializers.py:281 #: build/serializers.py:331 build/serializers.py:961 build/serializers.py:1740 #: order/models.py:744 order/serializers.py:631 order/serializers.py:856 -#: part/serializers.py:1721 stock/models.py:961 stock/models.py:1451 +#: part/models.py:3934 stock/models.py:961 stock/models.py:1451 #: stock/models.py:1916 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "數量必須大於零" @@ -1020,7 +1021,7 @@ msgstr "生產對象" #: build/models.py:1787 build/models.py:2112 build/serializers.py:267 #: build/serializers.py:316 build/serializers.py:1442 common/models.py:1371 #: order/models.py:1810 order/models.py:2664 order/serializers.py:1783 -#: order/serializers.py:2234 part/models.py:3484 part/models.py:3999 +#: order/serializers.py:2234 part/models.py:3494 part/models.py:4069 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1099,7 +1100,7 @@ msgstr "目的庫存品項" msgid "Build Level" msgstr "構建等級" -#: build/serializers.py:130 part/serializers.py:1283 +#: build/serializers.py:130 part/serializers.py:1288 msgid "Part Name" msgstr "零件名稱" @@ -1404,7 +1405,7 @@ msgstr "構建參考" msgid "Part Category Name" msgstr "零件類別名稱" -#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1433 common/setting/system.py:507 part/models.py:1269 msgid "Trackable" msgstr "可追蹤" @@ -1412,29 +1413,29 @@ msgstr "可追蹤" msgid "Inherited" msgstr "已繼承的" -#: build/serializers.py:1439 part/models.py:4084 +#: build/serializers.py:1439 part/models.py:4154 msgid "Allow Variants" msgstr "允許變體" -#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3802 -#: part/models.py:4390 stock/api.py:881 +#: build/serializers.py:1445 build/serializers.py:1451 part/models.py:3813 +#: part/models.py:4458 stock/api.py:881 msgid "BOM Item" msgstr "物料清單項" -#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1201 -#: part/serializers.py:1796 +#: build/serializers.py:1529 order/serializers.py:1344 part/serializers.py:1206 +#: part/serializers.py:1789 msgid "In Production" msgstr "生產中" -#: build/serializers.py:1531 part/serializers.py:852 part/serializers.py:1205 +#: build/serializers.py:1531 part/serializers.py:853 part/serializers.py:1210 msgid "Scheduled to Build" msgstr "排程生產中" -#: build/serializers.py:1534 part/serializers.py:885 +#: build/serializers.py:1534 part/serializers.py:886 msgid "External Stock" msgstr "外部庫存" -#: build/serializers.py:1535 part/serializers.py:1191 part/serializers.py:1859 +#: build/serializers.py:1535 part/serializers.py:1196 part/serializers.py:1852 msgid "Available Stock" msgstr "可用庫存" @@ -1617,7 +1618,7 @@ msgstr "鍵字符串必須是唯一的" #: common/models.py:1349 common/models.py:1350 common/models.py:1454 #: common/models.py:1455 common/models.py:1700 common/models.py:1701 #: common/models.py:2033 common/models.py:2034 common/models.py:2860 -#: importer/models.py:101 part/models.py:3578 part/models.py:3606 +#: importer/models.py:101 part/models.py:3588 part/models.py:3616 #: plugin/models.py:355 plugin/models.py:356 #: report/templates/report/inventree_test_report.html:105 users/models.py:124 #: users/models.py:501 @@ -1651,7 +1652,7 @@ msgstr "此網絡鈎子的名稱" #: common/models.py:1446 common/models.py:2274 common/models.py:2409 #: company/models.py:194 company/models.py:786 machine/models.py:40 -#: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 +#: part/models.py:1292 plugin/models.py:69 stock/api.py:641 users/models.py:195 #: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "激活" @@ -1731,7 +1732,7 @@ msgstr "標題" #: common/models.py:1753 common/models.py:2016 company/models.py:188 #: company/models.py:479 company/models.py:549 company/models.py:809 #: order/models.py:462 order/models.py:1851 order/models.py:2412 -#: part/models.py:1175 +#: part/models.py:1176 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "連結" @@ -1962,7 +1963,7 @@ msgstr "選擇列表名稱" msgid "Description of the selection list" msgstr "選擇列表描述" -#: common/models.py:2268 part/models.py:1287 +#: common/models.py:2268 part/models.py:1297 msgid "Locked" msgstr "已鎖定" @@ -2058,7 +2059,7 @@ msgstr "勾選框參數不能有單位" msgid "Checkbox parameters cannot have choices" msgstr "複選框參數不能有選項" -#: common/models.py:2507 part/models.py:3676 +#: common/models.py:2507 part/models.py:3686 msgid "Choices must be unique" msgstr "選擇必須是唯一的" @@ -2074,7 +2075,7 @@ msgstr "此參數範本的目標模型類型" msgid "Parameter Name" msgstr "參數名稱" -#: common/models.py:2558 part/models.py:1240 +#: common/models.py:2558 part/models.py:1250 msgid "Units" msgstr "單位" @@ -2094,7 +2095,7 @@ msgstr "勾選框" msgid "Is this parameter a checkbox?" msgstr "此參數是否為勾選框?" -#: common/models.py:2579 part/models.py:3763 +#: common/models.py:2579 part/models.py:3773 msgid "Choices" msgstr "選項" @@ -2106,7 +2107,7 @@ msgstr "此參數的有效選擇 (逗號分隔)" msgid "Selection list for this parameter" msgstr "此參數的選擇清單" -#: common/models.py:2596 part/models.py:3738 report/models.py:290 +#: common/models.py:2596 part/models.py:3748 report/models.py:290 msgid "Enabled" msgstr "已啓用" @@ -2157,7 +2158,7 @@ msgid "Parameter Value" msgstr "參數值" #: common/models.py:2817 company/models.py:826 order/serializers.py:895 -#: order/serializers.py:2146 part/models.py:4059 part/models.py:4430 +#: order/serializers.py:2146 part/models.py:4129 part/models.py:4498 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2859,8 +2860,8 @@ msgstr "零件默認為模板" msgid "Parts can be assembled from other components by default" msgstr "默認情況下,元件可由其他零件組裝而成" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 -#: part/serializers.py:1771 +#: common/setting/system.py:489 part/models.py:1263 part/serializers.py:1756 +#: part/serializers.py:1764 msgid "Component" msgstr "組件" @@ -2868,7 +2869,7 @@ msgstr "組件" msgid "Parts can be used as sub-components by default" msgstr "默認情況下,零件可用作子部件" -#: common/setting/system.py:495 part/models.py:1271 +#: common/setting/system.py:495 part/models.py:1281 msgid "Purchaseable" msgstr "可購買" @@ -2876,7 +2877,7 @@ msgstr "可購買" msgid "Parts are purchaseable by default" msgstr "默認情況下可購買零件" -#: common/setting/system.py:501 part/models.py:1277 stock/api.py:642 +#: common/setting/system.py:501 part/models.py:1287 stock/api.py:642 msgid "Salable" msgstr "可銷售" @@ -2888,7 +2889,7 @@ msgstr "零件默認為可銷售" msgid "Parts are trackable by default" msgstr "默認情況下可跟蹤零件" -#: common/setting/system.py:513 part/models.py:1293 +#: common/setting/system.py:513 part/models.py:1303 msgid "Virtual" msgstr "虛擬的" @@ -4298,11 +4299,11 @@ msgstr "外部供應商零件鏈接的URL" msgid "Supplier part description" msgstr "供應商零件説明" -#: company/models.py:835 part/models.py:2300 +#: company/models.py:835 part/models.py:2310 msgid "base cost" msgstr "基本費用" -#: company/models.py:836 part/models.py:2301 +#: company/models.py:836 part/models.py:2311 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低費用(例如庫存費)" @@ -4323,7 +4324,7 @@ msgstr "包裝數量" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "單包供應的總數量。為單個項目留空。" -#: company/models.py:870 part/models.py:2307 +#: company/models.py:870 part/models.py:2317 msgid "multiple" msgstr "多個" @@ -4355,7 +4356,7 @@ msgstr "此供應商使用的默認貨幣" msgid "Company Name" msgstr "公司名稱" -#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 +#: company/serializers.py:417 part/serializers.py:858 stock/serializers.py:444 msgid "In Stock" msgstr "有庫存" @@ -4519,7 +4520,7 @@ msgstr "原始行數據" msgid "Errors" msgstr "錯誤" -#: importer/models.py:585 part/serializers.py:1159 +#: importer/models.py:585 part/serializers.py:1164 msgid "Valid" msgstr "有效" @@ -5488,7 +5489,7 @@ msgstr "將具有相同零件、目的地和目標日期的項目合併到一個 msgid "SKU" msgstr "庫存量單位" -#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 +#: order/serializers.py:749 part/models.py:1152 part/serializers.py:344 msgid "Internal Part Number" msgstr "內部零件編號" @@ -5764,63 +5765,63 @@ msgstr "是修訂版本" msgid "Has Revisions" msgstr "有修訂版本" -#: part/api.py:853 +#: part/api.py:870 msgid "BOM Valid" msgstr "物料清單合規" -#: part/api.py:962 +#: part/api.py:979 msgid "Cascade Categories" msgstr "級聯類別" -#: part/api.py:963 +#: part/api.py:980 msgid "If true, include items in child categories of the given category" msgstr "若為 true,則包含給定類別的子類別中的項目" -#: part/api.py:969 +#: part/api.py:986 msgid "Filter by numeric category ID or the literal 'null'" msgstr "依數字類別 ID 或常值 'null' 篩選" -#: part/api.py:1282 +#: part/api.py:1299 msgid "Assembly part is active" msgstr "組件零件處於作用中狀態" -#: part/api.py:1286 +#: part/api.py:1303 msgid "Assembly part is trackable" msgstr "組件零件可追蹤" -#: part/api.py:1290 +#: part/api.py:1307 msgid "Assembly part is testable" msgstr "裝配部份是可測試的" -#: part/api.py:1294 +#: part/api.py:1311 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1299 +#: part/api.py:1316 msgid "Component part is active" msgstr "子零件處於作用中狀態" -#: part/api.py:1303 +#: part/api.py:1320 msgid "Component part is trackable" msgstr "子零件可追蹤" -#: part/api.py:1307 +#: part/api.py:1324 msgid "Component part is testable" msgstr "組件部份是可測試的" -#: part/api.py:1311 +#: part/api.py:1328 msgid "Component part is an assembly" msgstr "子零件是一個組件" -#: part/api.py:1315 +#: part/api.py:1332 msgid "Component part is virtual" msgstr "子零件是虛擬的" -#: part/api.py:1319 +#: part/api.py:1336 msgid "Has available stock" msgstr "有可用庫存" -#: part/api.py:1376 +#: part/api.py:1393 msgid "Uses" msgstr "使用" @@ -5833,7 +5834,7 @@ msgstr "零件類別" msgid "Part Categories" msgstr "零件類別" -#: part/models.py:111 part/models.py:1187 +#: part/models.py:111 part/models.py:1188 msgid "Default Location" msgstr "默認位置" @@ -5882,632 +5883,656 @@ msgstr "默認值" msgid "Default Parameter Value" msgstr "默認參數值" -#: part/models.py:528 part/serializers.py:114 users/ruleset.py:29 +#: part/models.py:529 part/serializers.py:114 users/ruleset.py:29 msgid "Parts" msgstr "零件" -#: part/models.py:574 +#: part/models.py:575 msgid "Cannot delete parameters of a locked part" msgstr "無法刪除已鎖定零件的參數" -#: part/models.py:579 +#: part/models.py:580 msgid "Cannot modify parameters of a locked part" msgstr "無法修改已鎖定零件的參數" -#: part/models.py:590 +#: part/models.py:591 msgid "Cannot delete this part as it is locked" msgstr "無法刪除這個零件,因為它已被鎖定" -#: part/models.py:593 +#: part/models.py:594 msgid "Cannot delete this part as it is still active" msgstr "無法刪除這個零件,因為它仍然處於活動狀態" -#: part/models.py:598 +#: part/models.py:599 msgid "Cannot delete this part as it is used in an assembly" msgstr "無法刪除這個零件,因為它被使用在了裝配中" -#: part/models.py:682 part/models.py:689 +#: part/models.py:683 part/models.py:690 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "零件 \"{self}\" 不能用在 \"{parent}\" 的物料清單 (遞歸)" -#: part/models.py:701 +#: part/models.py:702 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "零件 \"{parent}\" 被使用在了 \"{self}\" 的物料清單 (遞歸)" -#: part/models.py:768 +#: part/models.py:769 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "內部零件號必須匹配正則表達式 {pattern}" -#: part/models.py:776 +#: part/models.py:777 msgid "Part cannot be a revision of itself" msgstr "零件不能是對自身的修訂" -#: part/models.py:783 +#: part/models.py:784 msgid "Revision code must be specified for a part marked as a revision" msgstr "標記為修訂版的零件必須指定修訂版代碼" -#: part/models.py:791 +#: part/models.py:792 msgid "Revisions are only allowed for assembly parts" msgstr "修訂僅對裝配零件允許" -#: part/models.py:798 +#: part/models.py:799 msgid "Cannot make a revision of a template part" msgstr "無法對模版零件進行修訂" -#: part/models.py:804 +#: part/models.py:805 msgid "Parent part must point to the same template" msgstr "上級零件必須指向相同的模版" -#: part/models.py:901 +#: part/models.py:902 msgid "Stock item with this serial number already exists" msgstr "該序列號庫存項己存在" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Duplicate IPN not allowed in part settings" msgstr "在零件設置中不允許重複的內部零件號" -#: part/models.py:1044 +#: part/models.py:1045 msgid "Duplicate part revision already exists." msgstr "重複的零件修訂版本已經存在。" -#: part/models.py:1054 +#: part/models.py:1055 msgid "Part with this Name, IPN and Revision already exists." msgstr "有這個名字,內部零件號,和修訂版本的零件已經存在" -#: part/models.py:1069 +#: part/models.py:1070 msgid "Parts cannot be assigned to structural part categories!" msgstr "零件不能分配到結構性零件類別!" -#: part/models.py:1101 +#: part/models.py:1102 msgid "Part name" msgstr "零件名稱" -#: part/models.py:1106 +#: part/models.py:1107 msgid "Is Template" msgstr "是模板" -#: part/models.py:1107 +#: part/models.py:1108 msgid "Is this part a template part?" msgstr "這個零件是一個模版零件嗎?" -#: part/models.py:1117 +#: part/models.py:1118 msgid "Is this part a variant of another part?" msgstr "這個零件是另一零件的變體嗎?" -#: part/models.py:1118 +#: part/models.py:1119 msgid "Variant Of" msgstr "變體" -#: part/models.py:1125 +#: part/models.py:1126 msgid "Part description (optional)" msgstr "零件描述(可選)" -#: part/models.py:1132 +#: part/models.py:1133 msgid "Keywords" msgstr "關鍵詞" -#: part/models.py:1133 +#: part/models.py:1134 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索結果可見性的零件關鍵字" -#: part/models.py:1143 +#: part/models.py:1144 msgid "Part category" msgstr "零件類別" -#: part/models.py:1150 part/serializers.py:831 +#: part/models.py:1151 part/serializers.py:832 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "內部零件號 IPN" -#: part/models.py:1158 +#: part/models.py:1159 msgid "Part revision or version number" msgstr "零件修訂版本或版本號" -#: part/models.py:1159 report/models.py:231 +#: part/models.py:1160 report/models.py:231 msgid "Revision" msgstr "版本" -#: part/models.py:1168 +#: part/models.py:1169 msgid "Is this part a revision of another part?" msgstr "這零件是另一零件的修訂版本嗎?" -#: part/models.py:1169 +#: part/models.py:1170 msgid "Revision Of" msgstr "修訂版本" -#: part/models.py:1185 +#: part/models.py:1186 msgid "Where is this item normally stored?" msgstr "該物品通常存放在哪裏?" -#: part/models.py:1222 +#: part/models.py:1223 msgid "Default Expiry" msgstr "默認到期" -#: part/models.py:1223 +#: part/models.py:1224 msgid "Expiry time (in days) for stock items of this part" msgstr "此零件庫存項的過期時間 (天)" -#: part/models.py:1231 part/serializers.py:901 +#: part/models.py:1232 part/serializers.py:902 msgid "Minimum Stock" msgstr "最低庫存" -#: part/models.py:1232 +#: part/models.py:1233 msgid "Minimum allowed stock level" msgstr "允許的最小庫存量" -#: part/models.py:1241 +#: part/models.py:1241 part/serializers.py:906 +msgid "Maximum Stock" +msgstr "" + +#: part/models.py:1242 +msgid "Maximum allowed stock level" +msgstr "" + +#: part/models.py:1251 msgid "Units of measure for this part" msgstr "此零件的計量單位" -#: part/models.py:1248 +#: part/models.py:1258 msgid "Can this part be built from other parts?" msgstr "這個零件可由其他零件加工而成嗎?" -#: part/models.py:1254 +#: part/models.py:1264 msgid "Can this part be used to build other parts?" msgstr "這個零件可用於創建其他零件嗎?" -#: part/models.py:1260 +#: part/models.py:1270 msgid "Does this part have tracking for unique items?" msgstr "此零件是否有唯一物品的追蹤功能" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part have test results recorded against it?" msgstr "這一部分能否記錄到測試結果?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be purchased from external suppliers?" msgstr "這個零件可從外部供應商購買嗎?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Can this part be sold to customers?" msgstr "此零件可以銷售給客户嗎?" -#: part/models.py:1282 +#: part/models.py:1292 msgid "Is this part active?" msgstr "這個零件是否已激活?" -#: part/models.py:1288 +#: part/models.py:1298 msgid "Locked parts cannot be edited" msgstr "無法編輯鎖定的零件" -#: part/models.py:1294 +#: part/models.py:1304 msgid "Is this a virtual part, such as a software product or license?" msgstr "這是一個虛擬零件,例如一個軟件產品或許可證嗎?" -#: part/models.py:1299 +#: part/models.py:1309 msgid "BOM Validated" msgstr "BOM 已驗證" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is the BOM for this part valid?" msgstr "此零件的 BOM 是否已通過驗證?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "BOM checksum" msgstr "物料清單校驗和" -#: part/models.py:1307 +#: part/models.py:1317 msgid "Stored BOM checksum" msgstr "保存的物料清單校驗和" -#: part/models.py:1315 +#: part/models.py:1325 msgid "BOM checked by" msgstr "物料清單檢查人" -#: part/models.py:1320 +#: part/models.py:1330 msgid "BOM checked date" msgstr "物料清單檢查日期" -#: part/models.py:1336 +#: part/models.py:1346 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1346 +#: part/models.py:1356 msgid "Owner responsible for this part" msgstr "此零件的負責人" -#: part/models.py:2308 +#: part/models.py:2318 msgid "Sell multiple" msgstr "出售多個" -#: part/models.py:3317 +#: part/models.py:3327 msgid "Currency used to cache pricing calculations" msgstr "用於緩存定價計算的貨幣" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Minimum BOM Cost" msgstr "最低物料清單成本" -#: part/models.py:3334 +#: part/models.py:3344 msgid "Minimum cost of component parts" msgstr "元件的最低成本" -#: part/models.py:3340 +#: part/models.py:3350 msgid "Maximum BOM Cost" msgstr "物料清單的最高成本" -#: part/models.py:3341 +#: part/models.py:3351 msgid "Maximum cost of component parts" msgstr "元件的最高成本" -#: part/models.py:3347 +#: part/models.py:3357 msgid "Minimum Purchase Cost" msgstr "最低購買成本" -#: part/models.py:3348 +#: part/models.py:3358 msgid "Minimum historical purchase cost" msgstr "最高歷史購買成本" -#: part/models.py:3354 +#: part/models.py:3364 msgid "Maximum Purchase Cost" msgstr "最大購買成本" -#: part/models.py:3355 +#: part/models.py:3365 msgid "Maximum historical purchase cost" msgstr "最高歷史購買成本" -#: part/models.py:3361 +#: part/models.py:3371 msgid "Minimum Internal Price" msgstr "最低內部價格" -#: part/models.py:3362 +#: part/models.py:3372 msgid "Minimum cost based on internal price breaks" msgstr "基於內部批發價的最低成本" -#: part/models.py:3368 +#: part/models.py:3378 msgid "Maximum Internal Price" msgstr "最大內部價格" -#: part/models.py:3369 +#: part/models.py:3379 msgid "Maximum cost based on internal price breaks" msgstr "基於內部批發價的最高成本" -#: part/models.py:3375 +#: part/models.py:3385 msgid "Minimum Supplier Price" msgstr "供應商最低價格" -#: part/models.py:3376 +#: part/models.py:3386 msgid "Minimum price of part from external suppliers" msgstr "外部供應商零件的最低價格" -#: part/models.py:3382 +#: part/models.py:3392 msgid "Maximum Supplier Price" msgstr "供應商最高價格" -#: part/models.py:3383 +#: part/models.py:3393 msgid "Maximum price of part from external suppliers" msgstr "來自外部供應商的商零件的最高價格" -#: part/models.py:3389 +#: part/models.py:3399 msgid "Minimum Variant Cost" msgstr "最小變體成本" -#: part/models.py:3390 +#: part/models.py:3400 msgid "Calculated minimum cost of variant parts" msgstr "計算出的變體零件的最低成本" -#: part/models.py:3396 +#: part/models.py:3406 msgid "Maximum Variant Cost" msgstr "最大變體成本" -#: part/models.py:3397 +#: part/models.py:3407 msgid "Calculated maximum cost of variant parts" msgstr "計算出的變體零件的最大成本" -#: part/models.py:3403 part/models.py:3417 +#: part/models.py:3413 part/models.py:3427 msgid "Minimum Cost" msgstr "最低成本" -#: part/models.py:3404 +#: part/models.py:3414 msgid "Override minimum cost" msgstr "覆蓋最低成本" -#: part/models.py:3410 part/models.py:3424 +#: part/models.py:3420 part/models.py:3434 msgid "Maximum Cost" msgstr "最高成本" -#: part/models.py:3411 +#: part/models.py:3421 msgid "Override maximum cost" msgstr "覆蓋最大成本" -#: part/models.py:3418 +#: part/models.py:3428 msgid "Calculated overall minimum cost" msgstr "計算總最低成本" -#: part/models.py:3425 +#: part/models.py:3435 msgid "Calculated overall maximum cost" msgstr "計算總最大成本" -#: part/models.py:3431 +#: part/models.py:3441 msgid "Minimum Sale Price" msgstr "最低售出價格" -#: part/models.py:3432 +#: part/models.py:3442 msgid "Minimum sale price based on price breaks" msgstr "基於批發價的最低售出價格" -#: part/models.py:3438 +#: part/models.py:3448 msgid "Maximum Sale Price" msgstr "最高售出價格" -#: part/models.py:3439 +#: part/models.py:3449 msgid "Maximum sale price based on price breaks" msgstr "基於批發價的最大售出價格" -#: part/models.py:3445 +#: part/models.py:3455 msgid "Minimum Sale Cost" msgstr "最低銷售成本" -#: part/models.py:3446 +#: part/models.py:3456 msgid "Minimum historical sale price" msgstr "歷史最低售出價格" -#: part/models.py:3452 +#: part/models.py:3462 msgid "Maximum Sale Cost" msgstr "最高銷售成本" -#: part/models.py:3453 +#: part/models.py:3463 msgid "Maximum historical sale price" msgstr "歷史最高售出價格" -#: part/models.py:3471 +#: part/models.py:3481 msgid "Part for stocktake" msgstr "用於盤點的零件" -#: part/models.py:3476 +#: part/models.py:3486 msgid "Item Count" msgstr "物品數量" -#: part/models.py:3477 +#: part/models.py:3487 msgid "Number of individual stock entries at time of stocktake" msgstr "盤點時的個別庫存條目數" -#: part/models.py:3485 +#: part/models.py:3495 msgid "Total available stock at time of stocktake" msgstr "盤點時可用庫存總額" -#: part/models.py:3489 report/templates/report/inventree_test_report.html:106 +#: part/models.py:3499 report/templates/report/inventree_test_report.html:106 #: stock/models.py:3119 msgid "Date" msgstr "日期" -#: part/models.py:3490 +#: part/models.py:3500 msgid "Date stocktake was performed" msgstr "進行盤點的日期" -#: part/models.py:3497 +#: part/models.py:3507 msgid "Minimum Stock Cost" msgstr "最低庫存成本" -#: part/models.py:3498 +#: part/models.py:3508 msgid "Estimated minimum cost of stock on hand" msgstr "現有存庫存最低成本估算" -#: part/models.py:3504 +#: part/models.py:3514 msgid "Maximum Stock Cost" msgstr "最高庫存成本" -#: part/models.py:3505 +#: part/models.py:3515 msgid "Estimated maximum cost of stock on hand" msgstr "目前庫存最高成本估算" -#: part/models.py:3515 +#: part/models.py:3525 msgid "Part Sale Price Break" msgstr "零件售出價格折扣" -#: part/models.py:3629 +#: part/models.py:3639 msgid "Part Test Template" msgstr "零件測試模板" -#: part/models.py:3655 +#: part/models.py:3665 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "模板名稱無效 - 必須包含至少一個字母或者數字" -#: part/models.py:3687 +#: part/models.py:3697 msgid "Test templates can only be created for testable parts" msgstr "測試模板只能為可拆分的部件創建" -#: part/models.py:3701 +#: part/models.py:3711 msgid "Test template with the same key already exists for part" msgstr "零件已存在具有相同主鍵的測試模板" -#: part/models.py:3718 +#: part/models.py:3728 msgid "Test Name" msgstr "測試名" -#: part/models.py:3719 +#: part/models.py:3729 msgid "Enter a name for the test" msgstr "輸入測試的名稱" -#: part/models.py:3725 +#: part/models.py:3735 msgid "Test Key" msgstr "測試主鍵" -#: part/models.py:3726 +#: part/models.py:3736 msgid "Simplified key for the test" msgstr "簡化測試主鍵" -#: part/models.py:3733 +#: part/models.py:3743 msgid "Test Description" msgstr "測試説明" -#: part/models.py:3734 +#: part/models.py:3744 msgid "Enter description for this test" msgstr "輸入測試的描述" -#: part/models.py:3738 +#: part/models.py:3748 msgid "Is this test enabled?" msgstr "此測試是否已啓用?" -#: part/models.py:3743 +#: part/models.py:3753 msgid "Required" msgstr "必須的" -#: part/models.py:3744 +#: part/models.py:3754 msgid "Is this test required to pass?" msgstr "需要此測試才能通過嗎?" -#: part/models.py:3749 +#: part/models.py:3759 msgid "Requires Value" msgstr "需要值" -#: part/models.py:3750 +#: part/models.py:3760 msgid "Does this test require a value when adding a test result?" msgstr "添加測試結果時是否需要一個值?" -#: part/models.py:3755 +#: part/models.py:3765 msgid "Requires Attachment" msgstr "需要附件" -#: part/models.py:3757 +#: part/models.py:3767 msgid "Does this test require a file attachment when adding a test result?" msgstr "添加測試結果時是否需要文件附件?" -#: part/models.py:3764 +#: part/models.py:3774 msgid "Valid choices for this test (comma-separated)" msgstr "此測試的有效選擇 (逗號分隔)" -#: part/models.py:3961 +#: part/models.py:3918 +msgid "Invalid quantity - no units specified for part" +msgstr "" + +#: part/models.py:3927 +msgid "Quantity must be greater than or equal to zero" +msgstr "數量必須大於或等於零" + +#: part/models.py:4023 msgid "BOM item cannot be modified - assembly is locked" msgstr "物料清單項目不能被修改 - 裝配已鎖定" -#: part/models.py:3968 +#: part/models.py:4030 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "物料清單項目不能修改 - 變體裝配已鎖定" -#: part/models.py:3978 +#: part/models.py:4040 msgid "Select parent part" msgstr "選擇父零件" -#: part/models.py:3988 +#: part/models.py:4050 msgid "Sub part" msgstr "子零件" -#: part/models.py:3989 +#: part/models.py:4051 msgid "Select part to be used in BOM" msgstr "選擇要用於物料清單的零件" -#: part/models.py:4000 +#: part/models.py:4057 part/serializers.py:1704 +msgid "Amount" +msgstr "" + +#: part/models.py:4058 +msgid "Amount of sub-part consumed to produce one part" +msgstr "" + +#: part/models.py:4070 msgid "BOM quantity for this BOM item" msgstr "此物料清單項目的數量" -#: part/models.py:4006 +#: part/models.py:4076 msgid "This BOM item is optional" msgstr "此物料清單項目是可選的" -#: part/models.py:4012 +#: part/models.py:4082 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "這個物料清單項目是耗材 (它沒有在生產訂單中被追蹤)" -#: part/models.py:4020 +#: part/models.py:4090 msgid "Setup Quantity" msgstr "建置額外數量" -#: part/models.py:4021 +#: part/models.py:4091 msgid "Extra required quantity for a build, to account for setup losses" msgstr "為彌補建置 / 開工損耗所需的額外數量" -#: part/models.py:4029 +#: part/models.py:4099 msgid "Attrition" msgstr "損耗率" -#: part/models.py:4031 +#: part/models.py:4101 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "製造預估損耗(百分比 0–100)" -#: part/models.py:4042 +#: part/models.py:4112 msgid "Rounding Multiple" msgstr "進位倍數" -#: part/models.py:4044 +#: part/models.py:4114 msgid "Round up required production quantity to nearest multiple of this value" msgstr "將所需生產數量向上取整到此數值的整數倍" -#: part/models.py:4052 +#: part/models.py:4122 msgid "BOM item reference" msgstr "物料清單項目引用" -#: part/models.py:4060 +#: part/models.py:4130 msgid "BOM item notes" msgstr "物料清單項目註釋" -#: part/models.py:4066 +#: part/models.py:4136 msgid "Checksum" msgstr "校驗和" -#: part/models.py:4067 +#: part/models.py:4137 msgid "BOM line checksum" msgstr "物料清單行校驗和" -#: part/models.py:4072 +#: part/models.py:4142 msgid "Validated" msgstr "已驗證" -#: part/models.py:4073 +#: part/models.py:4143 msgid "This BOM item has been validated" msgstr "此物料清單項目已驗證" -#: part/models.py:4078 +#: part/models.py:4148 msgid "Gets inherited" msgstr "獲取繼承的" -#: part/models.py:4079 +#: part/models.py:4149 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "此物料清單項目是由物料清單繼承的變體零件" -#: part/models.py:4085 +#: part/models.py:4155 msgid "Stock items for variant parts can be used for this BOM item" msgstr "變體零件的庫存項可以用於此物料清單項目" -#: part/models.py:4194 stock/models.py:946 +#: part/models.py:4262 stock/models.py:946 msgid "Quantity must be integer value for trackable parts" msgstr "可追蹤零件的數量必須是整數" -#: part/models.py:4204 part/models.py:4206 +#: part/models.py:4272 part/models.py:4274 msgid "Sub part must be specified" msgstr "必須指定子零件" -#: part/models.py:4357 +#: part/models.py:4425 msgid "BOM Item Substitute" msgstr "物料清單項目替代品" -#: part/models.py:4378 +#: part/models.py:4446 msgid "Substitute part cannot be the same as the master part" msgstr "替代品零件不能與主零件相同" -#: part/models.py:4391 +#: part/models.py:4459 msgid "Parent BOM item" msgstr "上級物料清單項目" -#: part/models.py:4399 +#: part/models.py:4467 msgid "Substitute part" msgstr "替代品零件" -#: part/models.py:4415 +#: part/models.py:4483 msgid "Part 1" msgstr "零件 1" -#: part/models.py:4423 +#: part/models.py:4491 msgid "Part 2" msgstr "零件2" -#: part/models.py:4424 +#: part/models.py:4492 msgid "Select Related Part" msgstr "選擇相關的零件" -#: part/models.py:4431 +#: part/models.py:4499 msgid "Note for this relationship" msgstr "此關係的備註" -#: part/models.py:4450 +#: part/models.py:4518 msgid "Part relationship cannot be created between a part and itself" msgstr "零件關係不能在零件和自身之間創建" -#: part/models.py:4455 +#: part/models.py:4523 msgid "Duplicate relationship already exists" msgstr "複製關係已經存在" @@ -6627,239 +6652,243 @@ msgstr "與此製造商零件編號 (MPN) 的相匹配的製造商零件已存 msgid "Supplier part matching this SKU already exists" msgstr "匹配此庫存單位 (SKU) 的供應商零件已存在" -#: part/serializers.py:816 +#: part/serializers.py:817 msgid "Category Name" msgstr "類別名稱" -#: part/serializers.py:845 +#: part/serializers.py:846 msgid "Building" msgstr "正在生產" -#: part/serializers.py:846 +#: part/serializers.py:847 msgid "Quantity of this part currently being in production" msgstr "此零件目前生產中數量" -#: part/serializers.py:853 +#: part/serializers.py:854 msgid "Outstanding quantity of this part scheduled to be built" msgstr "此零件排程待製造未完成數量" -#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 +#: part/serializers.py:874 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:32 msgid "Stock Items" msgstr "庫存項" -#: part/serializers.py:877 +#: part/serializers.py:878 msgid "Revisions" msgstr "修訂" -#: part/serializers.py:881 part/serializers.py:1188 +#: part/serializers.py:882 part/serializers.py:1193 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "庫存總量" -#: part/serializers.py:889 +#: part/serializers.py:890 msgid "Unallocated Stock" msgstr "未分配的庫存" -#: part/serializers.py:897 +#: part/serializers.py:898 msgid "Variant Stock" msgstr "變體庫存" -#: part/serializers.py:968 +#: part/serializers.py:973 msgid "Duplicate Part" msgstr "重複零件" -#: part/serializers.py:969 +#: part/serializers.py:974 msgid "Copy initial data from another Part" msgstr "從另一個零件複製初始數據" -#: part/serializers.py:975 +#: part/serializers.py:980 msgid "Initial Stock" msgstr "初始庫存" -#: part/serializers.py:976 +#: part/serializers.py:981 msgid "Create Part with initial stock quantity" msgstr "創建具有初始庫存數量的零件" -#: part/serializers.py:982 +#: part/serializers.py:987 msgid "Supplier Information" msgstr "供應商信息" -#: part/serializers.py:983 +#: part/serializers.py:988 msgid "Add initial supplier information for this part" msgstr "添加此零件的初始供應商信息" -#: part/serializers.py:992 +#: part/serializers.py:997 msgid "Copy Category Parameters" msgstr "複製類別參數" -#: part/serializers.py:993 +#: part/serializers.py:998 msgid "Copy parameter templates from selected part category" msgstr "從選擇的零件複製參數模版" -#: part/serializers.py:998 +#: part/serializers.py:1003 msgid "Existing Image" msgstr "現有的圖片" -#: part/serializers.py:999 +#: part/serializers.py:1004 msgid "Filename of an existing part image" msgstr "現有零件圖片的文件名" -#: part/serializers.py:1016 +#: part/serializers.py:1021 msgid "Image file does not exist" msgstr "圖片不存在" -#: part/serializers.py:1160 +#: part/serializers.py:1165 msgid "Validate entire Bill of Materials" msgstr "驗證整個物料清單" -#: part/serializers.py:1194 part/serializers.py:1802 +#: part/serializers.py:1199 part/serializers.py:1795 msgid "Can Build" msgstr "可以創建" -#: part/serializers.py:1211 +#: part/serializers.py:1216 msgid "Required for Build Orders" msgstr "生產工單需求數" -#: part/serializers.py:1216 +#: part/serializers.py:1221 msgid "Allocated to Build Orders" msgstr "已分配至生產工單" -#: part/serializers.py:1223 +#: part/serializers.py:1228 msgid "Required for Sales Orders" msgstr "銷售訂單需求數" -#: part/serializers.py:1227 +#: part/serializers.py:1232 msgid "Allocated to Sales Orders" msgstr "已分配至銷售訂單" -#: part/serializers.py:1287 +#: part/serializers.py:1292 msgid "Part IPN" msgstr "零件 IPN" -#: part/serializers.py:1294 +#: part/serializers.py:1299 msgid "Part Description" msgstr "零件描述" -#: part/serializers.py:1338 +#: part/serializers.py:1343 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "選擇一個零件以產生該零件 (及其任何變體零件) 的盤點資訊" -#: part/serializers.py:1348 +#: part/serializers.py:1353 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "選擇一個類別以包含該類別 (及其子類別) 內的所有零件" -#: part/serializers.py:1358 +#: part/serializers.py:1363 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "選擇一個位置以包含該位置 (及其子位置) 內所有有庫存的零件" -#: part/serializers.py:1365 +#: part/serializers.py:1370 msgid "Generate Stocktake Entries" msgstr "產生盤點項目" -#: part/serializers.py:1366 +#: part/serializers.py:1371 msgid "Save stocktake entries for the selected parts" msgstr "儲存選定零件的盤點項目" -#: part/serializers.py:1373 +#: part/serializers.py:1378 msgid "Generate Report" msgstr "產製報表" -#: part/serializers.py:1374 +#: part/serializers.py:1379 msgid "Generate a stocktake report for the selected parts" msgstr "產製選定零件的庫存報表" -#: part/serializers.py:1477 +#: part/serializers.py:1482 msgid "Minimum Price" msgstr "最低價格" -#: part/serializers.py:1478 +#: part/serializers.py:1483 msgid "Override calculated value for minimum price" msgstr "覆蓋已計算的最低價格值" -#: part/serializers.py:1485 +#: part/serializers.py:1490 msgid "Minimum price currency" msgstr "最低價格貨幣" -#: part/serializers.py:1492 +#: part/serializers.py:1497 msgid "Maximum Price" msgstr "最高價格" -#: part/serializers.py:1493 +#: part/serializers.py:1498 msgid "Override calculated value for maximum price" msgstr "覆蓋已計算的最高價格值" -#: part/serializers.py:1500 +#: part/serializers.py:1505 msgid "Maximum price currency" msgstr "最高價格貨幣" -#: part/serializers.py:1529 +#: part/serializers.py:1534 msgid "Update" msgstr "更新" -#: part/serializers.py:1530 +#: part/serializers.py:1535 msgid "Update pricing for this part" msgstr "更新這個零件的價格" -#: part/serializers.py:1553 +#: part/serializers.py:1558 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "無法將所提供的貨幣轉換為 {default_currency}" -#: part/serializers.py:1560 +#: part/serializers.py:1565 msgid "Minimum price must not be greater than maximum price" msgstr "最低價格不能高於最高價格。" -#: part/serializers.py:1563 +#: part/serializers.py:1568 msgid "Maximum price must not be less than minimum price" msgstr "最高價格不能低於最低價格" -#: part/serializers.py:1716 -msgid "Quantity must be greater than or equal to zero" -msgstr "數量必須大於或等於零" +#: part/serializers.py:1705 +msgid "Amount required for this item (can include units)" +msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1722 msgid "Select the parent assembly" msgstr "選擇父裝配" -#: part/serializers.py:1764 +#: part/serializers.py:1757 msgid "Select the component part" msgstr "選擇零部件" -#: part/serializers.py:1991 +#: part/serializers.py:1877 +msgid "Invalid quantity format" +msgstr "" + +#: part/serializers.py:2005 msgid "Select part to copy BOM from" msgstr "選擇要複製物料清單的零件" -#: part/serializers.py:1999 +#: part/serializers.py:2013 msgid "Remove Existing Data" msgstr "移除現有數據" -#: part/serializers.py:2000 +#: part/serializers.py:2014 msgid "Remove existing BOM items before copying" msgstr "複製前刪除現有的物料清單項目" -#: part/serializers.py:2005 +#: part/serializers.py:2019 msgid "Include Inherited" msgstr "包含繼承的" -#: part/serializers.py:2006 +#: part/serializers.py:2020 msgid "Include BOM items which are inherited from templated parts" msgstr "包含從模板零件繼承的物料清單項目" -#: part/serializers.py:2011 +#: part/serializers.py:2025 msgid "Skip Invalid Rows" msgstr "跳過無效行" -#: part/serializers.py:2012 +#: part/serializers.py:2026 msgid "Enable this option to skip invalid rows" msgstr "啓用此選項以跳過無效行" -#: part/serializers.py:2017 +#: part/serializers.py:2031 msgid "Copy Substitute Parts" msgstr "複製替代品零件" -#: part/serializers.py:2018 +#: part/serializers.py:2032 msgid "Copy substitute parts when duplicate BOM items" msgstr "複製物料清單項目時複製替代品零件" diff --git a/src/frontend/src/locales/ar/messages.po b/src/frontend/src/locales/ar/messages.po index 9b5e8de7d1..47d991beeb 100644 --- a/src/frontend/src/locales/ar/messages.po +++ b/src/frontend/src/locales/ar/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ar\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" @@ -93,7 +93,7 @@ msgstr "الإجراءات" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "بحث" @@ -144,7 +144,7 @@ msgstr "" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "" @@ -248,7 +248,7 @@ msgstr "" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "" @@ -376,7 +376,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "" @@ -408,7 +408,7 @@ msgstr "" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "" @@ -433,7 +433,7 @@ msgstr "" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 -msgid "Required for Build Orders" +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 +msgid "Required for Build Orders" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "" @@ -2775,7 +2784,7 @@ msgstr "" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po index 8b5d52dc83..e5bd5d4509 100644 --- a/src/frontend/src/locales/bg/messages.po +++ b/src/frontend/src/locales/bg/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: bg\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "" @@ -144,7 +144,7 @@ msgstr "" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "" @@ -248,7 +248,7 @@ msgstr "" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "" @@ -376,7 +376,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "" @@ -408,7 +408,7 @@ msgstr "" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "" @@ -433,7 +433,7 @@ msgstr "" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 -msgid "Required for Build Orders" +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 +msgid "Required for Build Orders" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "" @@ -2775,7 +2784,7 @@ msgstr "" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po index b794a8c26c..d7614ca796 100644 --- a/src/frontend/src/locales/cs/messages.po +++ b/src/frontend/src/locales/cs/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: cs\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Czech\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -93,7 +93,7 @@ msgstr "Akce" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Hledat" @@ -144,7 +144,7 @@ msgstr "Ne" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Díl" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Díly" @@ -186,7 +186,7 @@ msgstr "Parametr" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parametry" @@ -248,7 +248,7 @@ msgstr "Kategorie dílu" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Kategorie dílů" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Typy skladových umístění" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Historie skladu" @@ -376,7 +376,7 @@ msgstr "Objednávka" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Objednávky" @@ -408,7 +408,7 @@ msgstr "Prodejní objednávka" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Prodejní objednávky" @@ -433,7 +433,7 @@ msgstr "Vrácená objednávka" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Vrácené objednávky" @@ -596,7 +596,7 @@ msgstr "Výběr záznamů" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Administrace" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Vytvořené objednávky" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "Poslední díly" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Nízké zásoby" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Zobraz počet polžek s nízkou skladovou zásobou" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Vyžadováno pro vytvoření objednávek" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Zobrazit části, které jsou vyžadovány pro aktivní objednávky staveb" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Položky s prošlou platností" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Zobrazit počet skladových položek, které vypršely" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Zastaralé položky" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Zobrazit počet položek skladu, které jsou zastaralé" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "Aktivní objednávky" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "Zobrazit počet objednávek sestavení, které jsou momentálně aktivní" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Po termínu sestavení objednávky" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "Zobrazit počet objednávek po termínu" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Přiřazené objednávky" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Zobrazit počet objednávek sestavení, které vám jsou přiděleny" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "Aktivní objednávky" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "Zobrazit počet aktivních objednávek" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Zpožděné objednávky" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "Zobrazit počet objednávek po splatnosti" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "Přiřazené prodejní objednávky" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "Zobrazit počet objednávek, které vám jsou přiděleny" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "Čekající zásilky" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "Zobrazit počet nevyřízených zásilek objednávek" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "Aktivní objednávky" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "Zobrazit počet aktuálně aktivních objednávek" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Objednávky po splatnosti" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "Zobrazit počet objednávek po splatnosti" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "Přiřazené objednávky" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "Zobrazit počet objednávek, které vám jsou přiděleny" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "Aktivní vratkové objednávky" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "Zobrazit počet vrácených objednávek, které jsou aktuálně aktivní" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "Po termínu vrácení" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "Zobrazit počet objednávek po splatnosti" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "Přiřazené vrácené objednávky" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "Zobrazit počet vrácených objednávek, které vám jsou přiděleny" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Začínáme" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Začínáme s InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "Aktualizace novinek" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "Nejnovější zprávy z InvenTree" @@ -2200,7 +2209,7 @@ msgstr "Data byla úspěšně importována" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Zavřít" @@ -2396,13 +2405,13 @@ msgstr "Žádné položky" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "K dispozici" @@ -2775,7 +2784,7 @@ msgstr "Odhlásit" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "Odstranit skupinu vyhledávání" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Datum" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Doprava" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Neaktivní" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtuální" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Není skladem" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "V objednávce" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "Ve výrobě" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Detaily" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Sériové číslo" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "Další" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Upravit díl" @@ -3953,7 +3963,7 @@ msgstr "Požadavky prodeje" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "Opravte chyby ve vybraných položkách" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "Objednat položky" @@ -4541,19 +4551,23 @@ msgstr "O InvenTree.org" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "Náhradní díl" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "Upravit náhrady kusovníku" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "Přidat náhradu" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "Náhrada přidána" @@ -4678,7 +4692,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "Vyberte kód projektu pro tuto položku" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "Odebírané" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "Přihlásit se k odběru oznámení pro tuto položku" @@ -4777,11 +4791,11 @@ msgstr "Přihlásit se k odběru oznámení pro tuto položku" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Nadřazená kategorie" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "Přihlásit se k odběru oznámení pro tuto kategorii" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "Výchozí lokace vybrána" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "Odstranit vybrané skladové položky" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Akce skladu" @@ -7102,14 +7116,14 @@ msgstr "Sestavená část nemusí mít definovaný kusovník (BOM) nebo je kusov #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "Kusovník není ověřen" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "Kusovník pro tuto sestavu nebyl potvrzen." @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Vystavil" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Podřízené objednávky sestavy" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Externí odkaz" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Podrobnosti dílu" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "Přidat položku" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Není skladem" @@ -7824,13 +7838,13 @@ msgstr "Podrobnosti o kategorii" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Přidělení výrobního přikazu" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Přidělení prodejní objednávky" @@ -7884,7 +7898,7 @@ msgstr "Klíčová slova" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Dostupná zásoba" @@ -7912,49 +7926,53 @@ msgstr "Přiřazeno prodejním objednávkám" msgid "Minimum Stock" msgstr "Minimální zásoby" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Uzamčeno" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Šablona dílu" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Montážní díl" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "Komponenta dílu" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "Testovatelný díl" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Sledovací díl" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "Zakoupitelný díl" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "Prodejní díl" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "Prodejní díl" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "Prodejní díl" msgid "Creation Date" msgstr "Datum vytvoření" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Vytvořil(a)" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "Výchozí expirace" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "dny" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Cenový rozsah" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "Poslední sériové číslo" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "Vybrat revizi části" @@ -7995,16 +8013,16 @@ msgstr "Vybrat revizi části" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Varianty" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Přiřazení" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Kusovník" @@ -8012,40 +8030,40 @@ msgstr "Kusovník" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Použito v" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Cena dílu" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Testovací šablony" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Související díly" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "Díl je uzamčen" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "Parametr dílu nemůže být upraven, díl je uzamčen" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Požadováno" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "Deficit" @@ -8057,37 +8075,37 @@ msgstr "Deficit" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Přidat díl" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Odstranit díl" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "Odstranění této části nelze vrátit zpět" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "Objednávka" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "Objednat zásoby" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "Vyhledat podle sériového čísla" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Akce s položkou" @@ -8375,7 +8393,7 @@ msgstr "Celková cena" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Komponenta" @@ -9284,7 +9302,7 @@ msgstr "Tato skladová položka byla vyčerpána" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "Informace o skladu" @@ -9747,7 +9765,7 @@ msgstr "Virtuální díl" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "Externí zásoby" @@ -9783,7 +9801,7 @@ msgstr "Zahrnuje variantu zásob" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "Sestavení" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "Zobrazit spotřební položky" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "Má cenu" @@ -9930,7 +9948,7 @@ msgstr "Přidat jednu BOM položku" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "Importovat ze souboru" @@ -9954,7 +9972,7 @@ msgstr "Kusovník nemůže být upraven, díl je uzamčen" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Montáž" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "Zobrazit aktivní montáže" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Sledovatelné" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "Zobrazit volitelné řádky" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "Testovatelné" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "Zobrazit šablony s volbami" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "Má jednotky" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "Jste přihlášeni k odběru oznámení pro tuto kategorii" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Zahrnout podkategorie" @@ -11048,184 +11066,192 @@ msgstr "Zobrazit přijaté položky" msgid "View Sales Order" msgstr "Zobrazit prodejní objednávku" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "Minimální zásoby" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Filtrovat podle aktivního stavu dílu" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "Filtrovat podle stavu uzamčeného dílu" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Filtrovat podle atributu montáže" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "Kusovník schválen" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "Filtrovat podle částí s platným kusovníkem" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Zahrnout díly do podkategorií" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Filtrovat podle atributu komponenty" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "Filtrovat podle testovatelného atributu" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Filtrovat podle sledovatelného atributu" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Filtrovat podle dílů, které mají jednotky" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "Má IPN" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Filtrovat podle dílů, které mají interní číslo dílu (IPN)" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "Má zásoby" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Zobrazit díly, které jsou skladem" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Filtrovat podle dílů, které mají nízké zásoby" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "Možné zakoupit" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Filtrovat podle dílů, které lze koupit" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "Prodejné" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Filtrovat podle dílů, které lze prodat" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "Možné zakoupit" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Filtrovat podle dílů, které lze koupit" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "Prodejné" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Filtrovat podle dílů, které lze prodat" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Filtrovat podle dílů, které jsou virtuální" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "Je šablonou" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "Filtrovat podle dílů, které jsou šablonami" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "Je varianta" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "Filtrovat podle dílů, které jsou varianta" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "Je revizí" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "Filtrovat podle dílů, které jsou revizí" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "Má revize" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "Filtrovat podle dílů, které mají revize" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "Filtrovat podle dílů, které mají informace o cenách" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "Je revizí" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "Filtrovat podle dílů, které jsou revizí" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "Má revize" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "Filtrovat podle dílů, které mají revize" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "Filtrovat podle dílů, které mají informace o cenách" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "Filtrovat podle dílů, které mají k dispozici zásoby" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "Filtrovat podle dílů, které uživatel odebírá" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "Importovat díly" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "Nastavit Kategorii" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "Nastavit kategorii pro vybrané díly" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "Objednat vybrané díly" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "Přidat díly" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "Vytvořit díl" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "Vytvořit nový díl" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "Importovat díly ze souboru" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "Importovat od dodavatele" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "Importovat od pluginu dodavatele" diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po index f8373e6182..ee9f0a88b2 100644 --- a/src/frontend/src/locales/da/messages.po +++ b/src/frontend/src/locales/da/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: da\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Danish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "Handlinger" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Søg" @@ -144,7 +144,7 @@ msgstr "Nej" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Del" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Dele" @@ -186,7 +186,7 @@ msgstr "Parameter" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parameter" @@ -248,7 +248,7 @@ msgstr "Del Kategori" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Del Kategorier" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Lager Lokationstyper" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Lager Historik" @@ -376,7 +376,7 @@ msgstr "Købsordre" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Købsordrer" @@ -408,7 +408,7 @@ msgstr "Salgsordrer" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Salgsordrer" @@ -433,7 +433,7 @@ msgstr "Returordre" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Returordre" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Admin" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Produktionsordrer" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Få på lager" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Vis antallet af dele som er lave på lager" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Påkrævet for byggeordrer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Vis dele som er nødvendige for aktive byggeordrer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Udløbet Lagervarer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Vis antallet af lagervarer som er udløbet" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Gamle Lagervarer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Vis antallet af lagervarer som er forældede" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "Aktive Byggeordrer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "Vis antallet af byggeordrer som er aktive" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Forsinket Byggeordrer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "Vis antallet af byggeordrer som er forfaldne" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Tildelte Byggeordrer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Vis antallet af byggeordrer som er tildelt dig" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "Aktiver Salgsordrer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "Vis antallet af salgsordrer som er aktive" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Forfaldne Salgsordrer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "Vis antallet af salgsordrer som er forfaldne" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "Tildelte Salgsordrer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "Vis antallet af salgsordrer, som er tildelt dig" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "Afventer Forsendelser" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "Vis antallet af afventende forsendelser af salgsordrer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "Aktive Indkøbsordrer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "Vis antallet af indkøbsordrer som er aktive" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Forfaldne Indkøbsordrer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "Vis antallet af indkøbsordrer som er forfaldne" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "Tildelte Indkøbsordrer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "Vis antallet af indkøbsordrer som er tildelt dig" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "Aktive Returordrer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "Vis antallet af returordrer som er aktive" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "Forfaldne Returordrer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "Vis antallet af returordrer som er forfaldne" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "Tildelte Returordrer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "Vis antallet af returordrer, som er tildelt dig" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Sådan kommer du igang" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Kom godt i gang med InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "Nyhedsopdateringer" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "De seneste nyheder fra InvenTree" @@ -2200,7 +2209,7 @@ msgstr "Data er blevet importeret" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Luk" @@ -2396,13 +2405,13 @@ msgstr "Ingen varer" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Tilgængelig" @@ -2775,7 +2784,7 @@ msgstr "Log ud" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "Fjern søgegruppe" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Dato" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Forsendelse" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Inaktiv" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtuel" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Intet lager" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "På Ordre" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "I Produktion" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Detaljer" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Serienummer" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "Næste" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Rediger Del" @@ -3953,7 +3963,7 @@ msgstr "Salgs Krav" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "Ret venligst fejlene i de valgte dele" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "Bestil dele" @@ -4541,19 +4551,23 @@ msgstr "Om InvenTree projektet" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "Erstat Del" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "Rediger stukliste erstatninger" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "Tilføj Erstatning" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "Erstatning tilføjet" @@ -4678,7 +4692,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "Vælg projektkode for dette linjeelement" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "Abonner" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "Abonner på notifikationer for denne del" @@ -4777,11 +4791,11 @@ msgstr "Abonner på notifikationer for denne del" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Overordnet del kategori" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "Abonner på notifikationer for denne kategori" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "Standard lokation valgt" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "Slet valgte lagervarer" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Lager Handlinger" @@ -7102,14 +7116,14 @@ msgstr "Den samlede del har muligvis ikke en defineret stykliste, eller styklist #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "Stykliste Ikke Valideret" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Udstedt Af" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Byg Underordnede Ordrer" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Ekstern link" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Del Detaljer" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "Tilføj leverandørdel" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Intet lager" @@ -7824,13 +7838,13 @@ msgstr "Kategori Detaljer" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "Nøgleord" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Tilgængelig Lager" @@ -7912,49 +7926,53 @@ msgstr "Allokeret til Salgsordrer" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Låst" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Skabelon Del" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Samlede Del" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "Komponent Del" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "Testbar Del" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Oprettet af" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "Standard Udløbsdato" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "dage" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "Seneste Serienummer" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Stykliste" @@ -8012,40 +8030,40 @@ msgstr "Stykliste" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Brugt I" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Del Prisfastsættelse" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Test Skabeloner" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Relaterede Dele" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "Delen er låst" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "Delparametre kan ikke redigeres, da delen er låst" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Påkrævet" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "Underskud" @@ -8057,37 +8075,37 @@ msgstr "Underskud" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Tilføj del" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Slet Del" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "Sletning af denne del kan ikke fortrydes" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "Ordre" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "Bestil Lager" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "Søg på serienummer" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Del Handlinger" @@ -8375,7 +8393,7 @@ msgstr "Total Pris" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Komponent" @@ -9284,7 +9302,7 @@ msgstr "Denne lagervare er opbrugt" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "Ekstern Lager" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "Tilføj et enkelt Stykliste element" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "Importer fra fil" @@ -9954,7 +9972,7 @@ msgstr "Styklisten kan ikke redigeres, da delen er låst" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Sporbar" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "Vis skabeloner med valgmuligheder" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Inkluder underkategorier" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "Vis Salgsordre" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Filtrer efter aktiv emnestatus" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "Filtrer efter låset emnestatus" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "Stykliste Valid" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Filtrer efter dele, der har lager" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Filtrer efter dele med lavt lager" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "Er Skabelon" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "Filtrer efter dele, som er skabeloner" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "Har Revisioner" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "Har Revisioner" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "Importer Dele" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "Tilføj Dele" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "Opret Del" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "Opret ny del" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "Importer dele fra en fil" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "Importer fra leverandør" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "Importer dele fra leverandør plugin" diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index 84096a2c8c..32cd0607ad 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: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "Aktionen" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Suche" @@ -144,7 +144,7 @@ msgstr "Nein" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Teil" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Teile" @@ -186,7 +186,7 @@ msgstr "Parameter" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parameter" @@ -248,7 +248,7 @@ msgstr "Teilkategorie" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Teil-Kategorien" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Lagerort Typen" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Lagerhistorie" @@ -376,7 +376,7 @@ msgstr "Einkaufsbestellung" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Bestellungen" @@ -408,7 +408,7 @@ msgstr "Verkaufsauftrag" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Aufträge" @@ -433,7 +433,7 @@ msgstr "Rückgabe Auftrag" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Reklamationen" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Admin" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Bauaufträge" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Geringer Bestand" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Zeige die Anzahl der Teile mit niedrigem Bestand" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Für Bauaufträge benötigt" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "notwendige Teile für aktive Baubestellung anzeigen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Abgelaufene Lagerartikel" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Zahl der abgelaufenen Gegenstände anzeigen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Veraltete Lagerbestände" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Zahl veralteter Lagerbestände anzeigen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "aktive Baubestellungen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "Zahl der aktiven Baubestellungen anzeigen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Überfällige Bauaufträge" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "Zahl der überfälligen Baubestellungen anzeigen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Zugeordnete Baubestellungen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Zahl der dir zugeordneten Baubestellungen anzeigen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "Aktive Aufträge" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "Zahl der gerade aktiven Aufträge anzeigen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Überfällige Bestellungen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "Zahl der überfälligen Verkaufsaufträge anzeigen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "zugeordnete Aufträge" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "Zahl der dir zugeordneten Verkaufsaufträge anzeigen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "Ausstehende Lieferungen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "Anzahl der ausstehenden Verkaufslieferungen anzeigen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "aktive Aufträge" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "Zahl der derzeit aktiven Einkaufsaufträge anzeigen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Überfällige Bestellungen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "Zahl der überfälligen Einkaufsaufträge anzeigen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "Zugewiesene Einkaufsaufträge" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "Zeige die Anzahl an Bestellungen, welche dir zugeordnet sind" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "Aktive Rücksendungen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "Zeige die Anzahl an derzeit aktiven Rücksendungen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "Überfällige Rücksendungen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "Zeige die Anzahl an überfälligen Rücksendungen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "Zugeordnete Rücksendungen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "Zahl der dir zugeordneten Retouren anzeigen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Erste Schritte" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Erste Schritte mit InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "Neuigkeiten" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "Die neuesten News von InvenTree" @@ -2200,7 +2209,7 @@ msgstr "Daten wurden erfolgreich importiert" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Schließen" @@ -2396,13 +2405,13 @@ msgstr "Keine Gegengenstände" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Verfügbar" @@ -2775,7 +2784,7 @@ msgstr "Abmelden" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "Suchgruppe entfernen" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Datum" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Sendung" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Inaktiv" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtuell" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Kein Bestand" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "In Bestellung" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "In Produktion" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Details" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Seriennummer" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "Weiter" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Teil bearbeiten" @@ -3953,7 +3963,7 @@ msgstr "Verkaufsanforderungen" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "Bitte korrigieren Sie die Fehler in den ausgewählten Teilen" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "Teile bestellen" @@ -4541,19 +4551,23 @@ msgstr "Über das InvenTree-Projekt" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "Ersatz-Teil" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "BOM Ersatz-Teile bearbeiten" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "Ersatz-Teil hinzufügen" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "Ersatz-Teil hinzugefügt" @@ -4678,7 +4692,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "abonniert" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "Benachrichtigungen für dieses Teil abonnieren" @@ -4777,11 +4791,11 @@ msgstr "Benachrichtigungen für dieses Teil abonnieren" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Übergeordnete Teilkategorie" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "Benachrichtigungen für diese Kategorie abonnieren" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "Standard-Lagerort ausgewählt" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "Ausgewählte Lagerartikel löschen" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Lager-Aktionen" @@ -7102,14 +7116,14 @@ msgstr "Das zusammengebaute Teil darf keine BOM definiert haben, oder das BOM is #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "BOM nicht validiert" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Aufgegeben von" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Unter-Bauaufträge" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Externer Link" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Teil-Details" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "Zuliefererteil hinzufügen" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Kein Bestand" @@ -7824,13 +7838,13 @@ msgstr "Kategorie-Details" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Bauauftragszuweisungen" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Verkaufsauftragszuweisungen" @@ -7884,7 +7898,7 @@ msgstr "Schlüsselwörter" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Verfügbarer Bestand" @@ -7912,49 +7926,53 @@ msgstr "Aufträgen zugeordnet" msgid "Minimum Stock" msgstr "Minimaler Bestand" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Gesperrt" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Vorlagenteil" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Baugruppe" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "Komponente" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "Testbares Teil" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Nachverfolgbares Teil" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "Käufliches Teil" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "Verkäufliches Teil" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "Verkäufliches Teil" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "Verkäufliches Teil" msgid "Creation Date" msgstr "Erstelldatum" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Erstellt von" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "Standard Ablaufdatum" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "Tage" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Preisspanne" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "letzte Seriennummer" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Varianten" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Zuweisungen" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Stückliste" @@ -8012,40 +8030,40 @@ msgstr "Stückliste" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Verwendet in" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Teilbepreisung" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Testvorlagen" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Zugehörige Teile" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "Teil ist gesperrt" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Erforderlich" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Teil hinzufügen" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Teil löschen" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "Das Löschen dieses Teils kann nicht rückgängig gemacht werden" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "Bestellung" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "Bestand bestellen" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "Nach Seriennummer suchen" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Teile-Aktionen" @@ -8375,7 +8393,7 @@ msgstr "Gesamtpreis" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Komponente" @@ -9284,7 +9302,7 @@ msgstr "Dieser Lagerartikel wurde verbraucht" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "Lagerinformationen" @@ -9747,7 +9765,7 @@ msgstr "Virtuelles Teil" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "Externer Bestand" @@ -9783,7 +9801,7 @@ msgstr "Alternatives Lager einschließen" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "Gebäude" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "Verbrauchbare Artikel anzeigen" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "Hat Preise" @@ -9930,7 +9948,7 @@ msgstr "Einzelnen BOM-Artikel hinzufügen" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "Aus Datei importieren" @@ -9954,7 +9972,7 @@ msgstr "BOM kann nicht bearbeitet werden, weil das Teil gesperrt ist" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Montage" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "Aktive Baugruppen anzeigen" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Nachverfolgbar" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "Optionale Positionen anzeigen" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "Prüfbar" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "Vorlagen mit Auswahlen anzeigen" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "Hat Einheiten" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "Sie haben Benachrichtigungen für diese Kategorie abonniert" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Unter-Kategorien einschließen" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "Mindest-Lagerbestand" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Filtern nach Teil aktiv Status" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Filtern nach Baugruppen Attribut" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "BOM valide" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "Nach Teilen mit gültiger BOM filtern" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Teile in Unterkategorien einschließen" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Nach Teilattributen filtern" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "Nach Attribut \"prüfbar\" filtern" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Filtern nach Nachverfolgbarer Eigenschaft" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Nach Teilen mit Einheiten filtern" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "Hat IPN" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Nach Teilen filtern, die eine interne Teilenummer haben" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "Auf Lager" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Nach Teilen mit Lagerbestand filtern" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Nach Teilen mit geringem Lagerbestand filtern" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "Kaufbar" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Nach Teilen filtern, die kaufbar sind" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "Verkaufbar" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Nach Teilen filtern, die verkaufbar sind" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "Kaufbar" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Nach Teilen filtern, die kaufbar sind" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "Verkaufbar" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Nach Teilen filtern, die verkaufbar sind" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Nach Teilen filtern, die virtuell sind" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "Ist Template" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "Nach Teilen filtern die eine Vorlage sind" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "Ist Variante" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "Nach Teilen filtern, die Varianten sind" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "Ist Revision" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "Nach Teilen filtern, die Revisionen sind" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "Hat Änderungen" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "Nach Teilen mit Revisionen filtern" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "Nach Teilen mit Preisinformationen filtern " - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "Ist Revision" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "Nach Teilen filtern, die Revisionen sind" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "Hat Änderungen" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "Nach Teilen mit Revisionen filtern" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "Nach Teilen mit Preisinformationen filtern " + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "Nach Teilen mit Lagerbestand filtern " -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "Nach vom Nutzer abonnierten Teilen filtern " -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "Kategorie festlegen" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "Kategorie für ausgewählte Teile festlegen" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "Ausgewählte Teile bestellen" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po index 095810c956..0f11278e6f 100644 --- a/src/frontend/src/locales/el/messages.po +++ b/src/frontend/src/locales/el/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: el\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Greek\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "Ενέργειες" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Αναζήτηση" @@ -144,7 +144,7 @@ msgstr "Όχι" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Προϊόν" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Προϊόντα" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Παράμετροι" @@ -248,7 +248,7 @@ msgstr "Κατηγορία Προϊόντος" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Κατηγορίες Προϊόντων" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Τύποι Τοποθεσιών Αποθέματος" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Ιστορικό Αποθέματος" @@ -376,7 +376,7 @@ msgstr "Εντολή Αγοράς" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Εντολές Αγοράς" @@ -408,7 +408,7 @@ msgstr "Εντολή Πώλησης" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Εντολές Πώλησης" @@ -433,7 +433,7 @@ msgstr "Εντολή Επιστροφής" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Εντολές Επιστροφής" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Διαχειριστής" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Εντολές Κατασκευής" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Χαμηλό Απόθεμα" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Εμφανίζει τον αριθμό Προϊόντων που έχουν χαμηλό απόθεμα" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Απαιτούνται για Εντολές Κατασκευής" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Εμφανίζει Προϊόντα που απαιτούνται για ενεργές εντολές κατασκευής" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Ληγμένα Προϊόντα Αποθέματος" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Εμφανίζει τον αριθμό Προϊόντων αποθέματος που έχουν λήξει" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Παρωχημένα Προϊόντα Αποθέματος" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Εμφανίζει τον αριθμό Προϊόντων αποθέματος που είναι παρωχημένα" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "Ενεργές Εντολές Κατασκευής" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "Εμφανίζει τον αριθμό εντολών κατασκευής που είναι ενεργές" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Εκπρόθεσμες Εντολές Κατασκευής" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "Εμφανίζει τον αριθμό εντολών κατασκευής που είναι εκπρόθεσμες" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Ανατεθειμένες Εντολές Κατασκευής" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Εμφανίζει τον αριθμό εντολών κατασκευής που σας έχουν ανατεθεί" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "Ενεργές Εντολές Πώλησης" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "Εμφανίζει τον αριθμό εντολών πώλησης που είναι ενεργές" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Εκπρόθεσμες Εντολές Πώλησης" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "Εμφανίζει τον αριθμό εντολών πώλησης που είναι εκπρόθεσμες" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "Ανατεθειμένες Εντολές Πώλησης" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "Εμφανίζει τον αριθμό εντολών πώλησης που σας έχουν ανατεθεί" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "Εκκρεμείς Αποστολές" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "Εμφανίζει τον αριθμό εκκρεμών αποστολών εντολών πώλησης" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "Ενεργές Εντολές Αγοράς" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "Εμφανίζει τον αριθμό εντολών αγοράς που είναι ενεργές" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Εκπρόθεσμες Εντολές Αγοράς" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "Εμφανίζει τον αριθμό εντολών αγοράς που είναι εκπρόθεσμες" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "Ανατεθειμένες Εντολές Αγοράς" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "Εμφανίζει τον αριθμό εντολών αγοράς που σας έχουν ανατεθεί" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "Ενεργές Εντολές Επιστροφής" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "Εμφανίζει τον αριθμό εντολών επιστροφής που είναι ενεργές" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "Εκπρόθεσμες Εντολές Επιστροφής" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "Εμφανίζει τον αριθμό εντολών επιστροφής που είναι εκπρόθεσμες" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "Ανατεθειμένες Εντολές Επιστροφής" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "Εμφανίζει τον αριθμό εντολών επιστροφής που σας έχουν ανατεθεί" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Ξεκινώντας" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Ξεκινώντας με το InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "Ενημερώσεις Ειδήσεων" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "Οι τελευταίες ειδήσεις από το InvenTree" @@ -2200,7 +2209,7 @@ msgstr "Τα δεδομένα εισήχθησαν με επιτυχία" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Κλείσιμο" @@ -2396,13 +2405,13 @@ msgstr "Κανένα στοιχείο" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Διαθέσιμο" @@ -2775,7 +2784,7 @@ msgstr "Αποσύνδεση" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "Αφαίρεση ομάδας αναζήτησης" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Ημερομηνία" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Αποστολή" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Ανενεργό" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Εικονικό" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Χωρίς απόθεμα" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "Σε παραγγελία" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "Σε παραγωγή" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Λεπτομέρειες" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Σειριακός αριθμός" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "Επόμενο" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Επεξεργασία Προϊόντος" @@ -3953,7 +3963,7 @@ msgstr "Απαιτήσεις πωλήσεων" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "Παρακαλώ διορθώστε τα σφάλματα στα επι #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "Παραγγελία Προϊόντων" @@ -4541,19 +4551,23 @@ msgstr "Σχετικά με το έργο InvenTree" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "Προϊόν υποκατάστασης" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "Επεξεργασία υποκαταστάτων BOM" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "Προσθήκη υποκατάστατου" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "Το υποκατάστατο προστέθηκε" @@ -4678,7 +4692,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "Επιλέξτε κωδικό έργου για αυτό το Προϊό #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "Σε εγγραφή" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "Εγγραφή σε ειδοποιήσεις για αυτό το Προϊόν" @@ -4777,11 +4791,11 @@ msgstr "Εγγραφή σε ειδοποιήσεις για αυτό το Προ #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Γονική κατηγορία Προϊόντος" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "Εγγραφή σε ειδοποιήσεις για αυτή την κατηγορία" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "Επιλέχθηκε η προεπιλεγμένη τοποθεσία" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "Διαγραφή των επιλεγμένων ειδών αποθέματος" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Ενέργειες Αποθέματος" @@ -7102,14 +7116,14 @@ msgstr "Το συναρμολογημένο Προϊόν μπορεί να μη #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "Το BOM Δεν Έχει Επικυρωθεί" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Εκδόθηκε Από" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Θυγατρικές Εντολές Κατασκευής" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Εξωτερικός Σύνδεσμος" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Στοιχεία Προϊόντος" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "Προσθήκη Προϊόντος Προμηθευτή" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Χωρίς Απόθεμα" @@ -7824,13 +7838,13 @@ msgstr "Στοιχεία Κατηγορίας" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Κατανομές Εντολών Κατασκευής" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Κατανομές Παραγγελιών Πώλησης" @@ -7884,7 +7898,7 @@ msgstr "Λέξεις-Κλειδιά" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Διαθέσιμο Απόθεμα" @@ -7912,49 +7926,53 @@ msgstr "Δεσμευμένο για Παραγγελίες Πώλησης" msgid "Minimum Stock" msgstr "Ελάχιστο Απόθεμα" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Κλειδωμένο" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Πρότυπο Προϊόν" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Συναρμολογημένο Προϊόν" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "Προϊόν Συστατικού" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "Ελέγξιμο Προϊόν" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Ανιχνεύσιμο Προϊόν" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "Αγοράσιμο Προϊόν" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "Πωλήσιμο Προϊόν" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "Πωλήσιμο Προϊόν" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "Πωλήσιμο Προϊόν" msgid "Creation Date" msgstr "Ημερομηνία Δημιουργίας" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Δημιουργήθηκε Από" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "Προεπιλεγμένη Λήξη" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "ημέρες" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Εύρος Τιμής" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "Τελευταίος Σειριακός Αριθμός" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "Επιλογή Αναθεώρησης Προϊόντος" @@ -7995,16 +8013,16 @@ msgstr "Επιλογή Αναθεώρησης Προϊόντος" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Παραλλαγές" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Δεσμεύσεις" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Κατάλογος Υλικών (BOM)" @@ -8012,40 +8030,40 @@ msgstr "Κατάλογος Υλικών (BOM)" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Χρησιμοποιείται Σε" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Τιμολόγηση Προϊόντος" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Πρότυπα Δοκιμών" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Σχετικά Προϊόντα" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "Το Προϊόν είναι Κλειδωμένο" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "Οι παράμετροι προϊόντος δεν μπορούν να επεξεργαστούν επειδή το προϊόν είναι κλειδωμένο" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Απαιτείται" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Προσθήκη Προϊόντος" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Διαγραφή Προϊόντος" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "Η διαγραφή αυτού του Προϊόντος δεν μπορεί να αναιρεθεί" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "Παραγγελία" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "Παραγγελία Αποθέματος" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "Αναζήτηση με σειριακό αριθμό" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Ενέργειες Προϊόντος" @@ -8375,7 +8393,7 @@ msgstr "Συνολική Τιμή" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Συστατικό" @@ -9284,7 +9302,7 @@ msgstr "Αυτό το Προϊόν αποθέματος έχει εξαντλη #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "Πληροφορίες αποθέματος" @@ -9747,7 +9765,7 @@ msgstr "Εικονικό Προϊόν" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "Εξωτερικό απόθεμα" @@ -9783,7 +9801,7 @@ msgstr "Περιλαμβάνει απόθεμα παραλλαγών" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "Σε κατασκευή" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "Εμφάνιση αναλώσιμων στοιχείων" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "Έχει τιμολόγηση" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "Εισαγωγή από αρχείο" @@ -9954,7 +9972,7 @@ msgstr "Το BOM δεν μπορεί να επεξεργαστεί, επειδή #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Συναρμολόγηση" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "Εμφάνιση ενεργών συναρμολογήσεων" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Ιχνηλάσιμο" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "Εμφάνιση προαιρετικών γραμμών" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "Δοκιμασμένο" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "Εμφάνιση προτύπων με επιλογές" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "Έχει μονάδες" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "Έχετε εγγραφεί σε ειδοποιήσεις για αυτήν την κατηγορία" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Συμπερίληψη υποκατηγοριών" @@ -11048,184 +11066,192 @@ msgstr "Εμφάνιση παραληφθέντων Προϊόντων" msgid "View Sales Order" msgstr "Προβολή παραγγελίας πώλησης" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "Ελάχιστο απόθεμα" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Φιλτράρισμα κατά ενεργή κατάσταση προϊόντος" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "Φιλτράρισμα κατά κλειδωμένα προϊόντα" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Φιλτράρισμα κατά χαρακτηριστικό συναρμολόγησης" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "Έγκυρο BOM" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "Φιλτράρισμα προϊόντων με έγκυρο BOM" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Συμπερίληψη προϊόντων σε υποκατηγορίες" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Φιλτράρισμα κατά χαρακτηριστικό Προϊόντος" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "Φιλτράρισμα κατά δυνατότητα δοκιμής" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Φιλτράρισμα κατά δυνατότητα ιχνηλάτησης" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Φιλτράρισμα προϊόντων με μονάδες" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "Έχει IPN" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Φιλτράρισμα προϊόντων με εσωτερικό κωδικό" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "Έχει απόθεμα" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Φιλτράρισμα προϊόντων με διαθέσιμο απόθεμα" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Φιλτράρισμα προϊόντων με χαμηλό απόθεμα" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "Αγοράσιμα" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Φιλτράρισμα προϊόντων που μπορούν να αγοραστούν" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "Πωλήσιμα" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Φιλτράρισμα προϊόντων που μπορούν να πωληθούν" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "Αγοράσιμα" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Φιλτράρισμα προϊόντων που μπορούν να αγοραστούν" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "Πωλήσιμα" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Φιλτράρισμα προϊόντων που μπορούν να πωληθούν" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Φιλτράρισμα εικονικών προϊόντων" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "Είναι πρότυπο" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "Φιλτράρισμα προϊόντων που είναι πρότυπα" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "Είναι παραλλαγή" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "Φιλτράρισμα προϊόντων που είναι παραλλαγές" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "Είναι αναθεώρηση" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "Φιλτράρισμα προϊόντων που είναι αναθεωρήσεις" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "Έχει αναθεωρήσεις" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "Φιλτράρισμα προϊόντων με αναθεωρήσεις" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "Φιλτράρισμα προϊόντων με πληροφορίες τιμολόγησης" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "Είναι αναθεώρηση" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "Φιλτράρισμα προϊόντων που είναι αναθεωρήσεις" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "Έχει αναθεωρήσεις" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "Φιλτράρισμα προϊόντων με αναθεωρήσεις" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "Φιλτράρισμα προϊόντων με πληροφορίες τιμολόγησης" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "Φιλτράρισμα προϊόντων με διαθέσιμο απόθεμα" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "Φιλτράρισμα προϊόντων στα οποία ο χρήστης έχει εγγραφεί" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "Εισαγωγή προϊόντων" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "Ορισμός κατηγορίας" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "Ορισμός κατηγορίας για τα επιλεγμένα προϊόντα" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "Παραγγελία επιλεγμένων προϊόντων" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "Προσθήκη προϊόντων" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "Δημιουργία προϊόντος" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "Δημιουργία νέου προϊόντος" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "Εισαγωγή εξαρτημάτων από αρχείο" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "Εισαγωγή από προμηθευτή" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "Εισαγωγή εξαρτημάτων από πρόσθετο προμηθευτή" diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po index c0cbdd31c4..ce6c6939f3 100644 --- a/src/frontend/src/locales/en/messages.po +++ b/src/frontend/src/locales/en/messages.po @@ -88,7 +88,7 @@ msgstr "Actions" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Search" @@ -139,7 +139,7 @@ msgstr "No" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -159,7 +159,7 @@ msgstr "Part" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Parts" @@ -181,7 +181,7 @@ msgstr "Parameter" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parameters" @@ -243,7 +243,7 @@ msgstr "Part Category" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Part Categories" @@ -294,7 +294,7 @@ msgid "Stock Location Types" msgstr "Stock Location Types" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Stock History" @@ -371,7 +371,7 @@ msgstr "Purchase Order" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Purchase Orders" @@ -403,7 +403,7 @@ msgstr "Sales Order" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Sales Orders" @@ -428,7 +428,7 @@ msgstr "Return Order" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Return Orders" @@ -591,7 +591,7 @@ msgstr "Selection Entries" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -623,7 +623,7 @@ msgstr "Admin" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Build Orders" @@ -1075,7 +1075,7 @@ msgid "Latest parts" msgstr "Latest parts" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Low Stock" @@ -1084,151 +1084,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Show the number of parts which are low on stock" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "High Stock" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "Show the number of parts which have excess stock" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Required for Build Orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Show parts which are required for active build orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Expired Stock Items" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Show the number of stock items which have expired" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Stale Stock Items" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Show the number of stock items which are stale" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "Active Build Orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "Show the number of build orders which are currently active" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Overdue Build Orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "Show the number of build orders which are overdue" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Assigned Build Orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Show the number of build orders which are assigned to you" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "Active Sales Orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "Show the number of sales orders which are currently active" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Overdue Sales Orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "Show the number of sales orders which are overdue" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "Assigned Sales Orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "Show the number of sales orders which are assigned to you" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "Pending Shipments" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "Show the number of pending sales order shipments" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "Active Purchase Orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "Show the number of purchase orders which are currently active" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Overdue Purchase Orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "Show the number of purchase orders which are overdue" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "Assigned Purchase Orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "Show the number of purchase orders which are assigned to you" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "Active Return Orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "Show the number of return orders which are currently active" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "Overdue Return Orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "Show the number of return orders which are overdue" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "Assigned Return Orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "Show the number of return orders which are assigned to you" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Getting Started" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Getting started with InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "News Updates" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "The latest news from InvenTree" @@ -2195,7 +2204,7 @@ msgstr "Data has been imported successfully" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Close" @@ -2391,13 +2400,13 @@ msgstr "No items" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Available" @@ -2770,7 +2779,7 @@ msgstr "Logout" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2860,7 +2869,7 @@ msgstr "Remove search group" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3004,14 +3013,14 @@ msgstr "Date" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3144,50 +3153,50 @@ msgstr "Shipment" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Inactive" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtual" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "No stock" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "On Order" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "In Production" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Details" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3231,6 +3240,7 @@ msgstr "Serial Number" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3854,8 +3864,8 @@ msgid "Next" msgstr "Next" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Edit Part" @@ -3948,7 +3958,7 @@ msgstr "Sales Requirements" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4048,7 +4058,7 @@ msgstr "Please correct the errors in the selected parts" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "Order Parts" @@ -4536,19 +4546,23 @@ msgstr "About the InvenTree Project" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "Required component quantity" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "Substitute Part" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "Edit BOM Substitutes" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "Add Substitute" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "Substitute added" @@ -4673,7 +4687,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4751,16 +4765,16 @@ msgstr "Select project code for this line item" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "Subscribed" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "Subscribe to notifications for this part" @@ -4772,11 +4786,11 @@ msgstr "Subscribe to notifications for this part" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Parent part category" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "Subscribe to notifications for this category" @@ -4814,8 +4828,8 @@ msgid "Default location selected" msgstr "Default location selected" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5500,7 +5514,7 @@ msgid "Delete selected stock items" msgstr "Delete selected stock items" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Stock Actions" @@ -7097,14 +7111,14 @@ msgstr "The assembled part may not have a Bill of Materials (BOM) defined, or th #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "BOM Not Validated" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "The Bill of Materials for this assembly has not been validated." @@ -7210,7 +7224,7 @@ msgid "Issued By" msgstr "Issued By" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7298,7 +7312,7 @@ msgid "Child Build Orders" msgstr "Child Build Orders" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7587,7 +7601,7 @@ msgstr "External Link" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Part Details" @@ -7686,7 +7700,7 @@ msgid "Add Supplier Part" msgstr "Add Supplier Part" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "No Stock" @@ -7819,13 +7833,13 @@ msgstr "Category Details" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Build Order Allocations" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Sales Order Allocations" @@ -7879,7 +7893,7 @@ msgstr "Keywords" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Available Stock" @@ -7907,49 +7921,53 @@ msgstr "Allocated to Sales Orders" msgid "Minimum Stock" msgstr "Minimum Stock" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "Maximum Stock" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Locked" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Template Part" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Assembled Part" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "Component Part" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "Testable Part" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Trackable Part" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "Purchaseable Part" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "Saleable Part" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "Saleable Part" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7957,32 +7975,32 @@ msgstr "Saleable Part" msgid "Creation Date" msgstr "Creation Date" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Created By" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "Default Expiry" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "days" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Price Range" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "Latest Serial Number" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "Select Part Revision" @@ -7990,16 +8008,16 @@ msgstr "Select Part Revision" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Variants" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Allocations" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Bill of Materials" @@ -8007,40 +8025,40 @@ msgstr "Bill of Materials" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Used In" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Part Pricing" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Test Templates" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Related Parts" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "Part is Locked" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "Part parameters cannot be edited, as the part is locked" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Required" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "Deficit" @@ -8052,37 +8070,37 @@ msgstr "Deficit" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Add Part" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Delete Part" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "Deleting this part cannot be reversed" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "Order" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "Order Stock" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "Search by serial number" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Part Actions" @@ -8370,7 +8388,7 @@ msgstr "Total Price" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Component" @@ -9279,7 +9297,7 @@ msgstr "This stock item has been depleted" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "Stock Information" @@ -9742,7 +9760,7 @@ msgstr "Virtual part" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "External stock" @@ -9778,7 +9796,7 @@ msgstr "Includes variant stock" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "Building" @@ -9856,7 +9874,7 @@ msgid "Show consumable items" msgstr "Show consumable items" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "Has Pricing" @@ -9925,7 +9943,7 @@ msgstr "Add a single BOM item" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "Import from File" @@ -9949,7 +9967,7 @@ msgstr "Bill of materials cannot be edited, as the part is locked" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Assembly" @@ -9963,7 +9981,7 @@ msgid "Show active assemblies" msgstr "Show active assemblies" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Trackable" @@ -10099,7 +10117,7 @@ msgid "Show optional lines" msgstr "Show optional lines" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "Testable" @@ -10641,7 +10659,7 @@ msgid "Show templates with choices" msgstr "Show templates with choices" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "Has Units" @@ -10954,7 +10972,7 @@ msgid "You are subscribed to notifications for this category" msgstr "You are subscribed to notifications for this category" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Include Subcategories" @@ -11043,184 +11061,192 @@ msgstr "Show received items" msgid "View Sales Order" msgstr "View Sales Order" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "Minimum stock" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "Maximum stock" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Filter by part active status" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "Filter by part locked status" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Filter by assembly attribute" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "BOM Valid" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "Filter by parts with a valid BOM" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Include parts in subcategories" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Filter by component attribute" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "Filter by testable attribute" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Filter by trackable attribute" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Filter by parts which have units" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "Has IPN" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Filter by parts which have an internal part number" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "Has Stock" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Filter by parts which have stock" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Filter by parts which have low stock" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "Purchaseable" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Filter by parts which are purchaseable" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "Salable" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Filter by parts which are salable" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "Filter by parts which have high stock" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "Purchaseable" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Filter by parts which are purchaseable" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "Salable" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Filter by parts which are salable" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Filter by parts which are virtual" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "Is Template" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "Filter by parts which are templates" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "Is Variant" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "Filter by parts which are variants" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "Is Revision" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "Filter by parts which are revisions" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "Has Revisions" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "Filter by parts which have revisions" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "Filter by parts which have pricing information" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "Is Revision" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "Filter by parts which are revisions" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "Has Revisions" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "Filter by parts which have revisions" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "Filter by parts which have pricing information" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "Filter by parts which have available stock" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "Filter by parts to which the user is subscribed" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "Import Parts" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "Set Category" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "Set category for selected parts" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "Order selected parts" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "Add Parts" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "Create Part" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "Create a new part" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "Import parts from a file" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "Import from Supplier" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "Import parts from a supplier plugin" diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po index bb9d40baec..be828a2a04 100644 --- a/src/frontend/src/locales/es/messages.po +++ b/src/frontend/src/locales/es/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: es\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "Acciones" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Buscar" @@ -144,7 +144,7 @@ msgstr "No" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Pieza" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Piezas" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parámetros" @@ -248,7 +248,7 @@ msgstr "Categoría de Pieza" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Categorías de Pieza" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Tipos de ubicaciones de existencias" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Histórico de existencias" @@ -376,7 +376,7 @@ msgstr "Pedido de compra" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Pedidos de compra" @@ -408,7 +408,7 @@ msgstr "Orden de venta" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Órdenes de venta" @@ -433,7 +433,7 @@ msgstr "Orden de devolución" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Órdenes de devolución" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Admin" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Órdenes de construcción" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Stock bajo" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Mostrar el número de piezas que son bajas en stock" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Requerido para construir pedidos" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Mostrar las partes requeridas para las órdenes de construcción activas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Elementos de stock caducados" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Mostrar el número de elementos de stock que han caducado" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Elementos obsoletos" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Mostrar el número de artículos de stock que están obsoletos" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "Órdenes de construcción activas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "Mostrar el número de órdenes de construcción que actualmente están activas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Órdenes de construcción atrasadas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "Mostrar el número de órdenes de construcción vencidas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Órdenes de construcción asignadas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Mostrar el número de órdenes de construcción asignadas a usted" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "Órdenes de Venta activas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "Mostrar el número de pedidos de venta que están activos actualmente" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Órdenes de venta vencidas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "Mostrar el número de pedidos que están retrasados" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "Pedidos de venta asignados" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "Mostrar el número de órdenes de venta que se le han asignado" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "Órdenes de Compra asignadas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "Mostrar el número de órdenes de compra que están activas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Pedidos de Compra Atrasados" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "Mostrar el número de órdenes de compra que están atrasadas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "Órdenes de Compra asignadas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "Mostrar el número de órdenes de compra que se le asignaron" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "Pedidos de devolución activos" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "Mostrar el número de órdenes de devolución actualmente activas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "Órdenes de devolución atrasadas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "Mostrar el número de órdenes de devolución que están vencidas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "Órdenes de devolución asignadas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "Mostrar el número de órdenes de devolución que se le asignaron" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Empezando" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Empezando con InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "Noticias actualizadas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "Las últimas noticias de InvenTree" @@ -2200,7 +2209,7 @@ msgstr "Los datos se han importado satisfactoriamente" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Cerrar" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Disponible" @@ -2775,7 +2784,7 @@ msgstr "Cerrar sesión" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Fecha" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Envío" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Inactivo" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtual" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Sin Stock" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "En pedido" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "En producción" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Detalles" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Número de serie" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Editar Pieza" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "Ordenar Partes" @@ -4541,19 +4551,23 @@ msgstr "Acerca del proyecto InvenTree" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "Suscrito" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "Suscríbete a las notificaciones de esta pieza" @@ -4777,11 +4791,11 @@ msgstr "Suscríbete a las notificaciones de esta pieza" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Categoría superior de pieza" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "Suscribirse a las notificaciones de esta categoría" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "Ubicación por defecto seleccionada" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Acciones de inventario" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Emitido por" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Enlace externo" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "Añadir pieza de proveedor" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Sin existencias" @@ -7824,13 +7838,13 @@ msgstr "Detalles de categoría" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "Palabras claves" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Existencias disponibles" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "Existencias mínimas" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Bloqueado" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "Último número de serie" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Precio de pieza" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Plantillas de Prueba" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Piezas Relacionadas" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Requerido" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Añadir pieza" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Eliminar pieza" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "La eliminación de esta pieza no se puede revertir" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "Orden" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "Precio total" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Componente" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "Existencias externas" @@ -9783,7 +9801,7 @@ msgstr "Incluye existencias variantes" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "Estás suscrito a las notificaciones de esta categoría" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Incluir subcategorias" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "Ver orden de venta" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Incluye piezas en subcategorías" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/es_MX/messages.po b/src/frontend/src/locales/es_MX/messages.po index 9ab5c86a9d..594829c0f9 100644 --- a/src/frontend/src/locales/es_MX/messages.po +++ b/src/frontend/src/locales/es_MX/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: es_MX\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "Acciones" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Buscar" @@ -144,7 +144,7 @@ msgstr "No" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Pieza" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Piezas" @@ -186,7 +186,7 @@ msgstr "Parámetro" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parámetros" @@ -248,7 +248,7 @@ msgstr "Categoría de Pieza" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Categorías de Pieza" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Tipos de ubicaciones de existencias" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Histórico de existencias" @@ -376,7 +376,7 @@ msgstr "Pedido de compra" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Órdenes de compra" @@ -408,7 +408,7 @@ msgstr "Orden de venta" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Órdenes de venta" @@ -433,7 +433,7 @@ msgstr "Orden de devolución" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Ordenes de devolución" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Admin" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Ordenes de Producción" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Existencias bajas" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Mostrar el número de piezas que son bajas en existencia" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Requerido para construir pedidos" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Mostrar las partes requeridas para las órdenes de construcción activas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Artículos de stock caducados" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Mostrar el número de elementos de stock que han caducado" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Elementos obsoletos" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Mostrar el número de artículos de stock que están obsoletos" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "Órdenes de construcción activas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "Mostrar el número de órdenes de construcción que actualmente están activas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Órdenes de construcción atrasadas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "Mostrar el número de órdenes de construcción vencidas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Órdenes de construcción asignadas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Mostrar el número de órdenes de construcción asignadas a usted" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "Órdenes de Venta activas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "Mostrar el número de pedidos de venta que están activos actualmente" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Órdenes de venta vencidas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "Mostrar el número de pedidos que están retrasados" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "Pedidos de venta asignados" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "Mostrar el número de órdenes de venta que se le han asignado" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "Órdenes de Compra asignadas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "Mostrar el número de órdenes de compra que están activas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Pedidos de Compra Atrasados" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "Mostrar el número de órdenes de compra que están atrasadas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "Órdenes de Compra asignadas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "Mostrar el número de órdenes de compra que se le asignaron" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "Pedidos de devolución activos" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "Mostrar el número de órdenes de devolución actualmente activas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "Órdenes de devolución atrasadas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "Mostrar el número de órdenes de devolución que están vencidas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "Órdenes de devolución asignadas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "Mostrar el número de órdenes de devolución que se le asignaron" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Empezando" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Empezando con InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "Noticias actualizadas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "Las últimas noticias de InvenTree" @@ -2200,7 +2209,7 @@ msgstr "Los datos se han importado satisfactoriamente" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Cerrar" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Disponible" @@ -2775,7 +2784,7 @@ msgstr "Cerrar sesión" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "Eliminar grupo de búsqueda" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Fecha" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Envío" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Inactivo" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtual" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Sin existencias" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "En pedido" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "En producción" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Detalles" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Número de serie" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Editar Pieza" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "Por favor, corrija los errores en las partes seleccionadas" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "Pedir Piezas" @@ -4541,19 +4551,23 @@ msgstr "Acerca del proyecto InvenTree" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "Suscrito" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "Suscríbete a las notificaciones de esta pieza" @@ -4777,11 +4791,11 @@ msgstr "Suscríbete a las notificaciones de esta pieza" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Categoría superior de pieza" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "Suscribirse a las notificaciones de esta categoría" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "Ubicación por defecto seleccionada" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Emitido por" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Órdenes de Trabajo herederas" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Enlace externo" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Detalles de la Pieza" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "Añadir pieza de proveedor" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Sin existencias" @@ -7824,13 +7838,13 @@ msgstr "Detalles de categoría" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "Palabras claves" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Existencias disponibles" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "Existencias Mínimas" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Bloqueado" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "Fecha de Creación" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Creado Por" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Rango de Precios" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "Último número de serie" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Variantes" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Asignaciones" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Lista de Materiales" @@ -8012,40 +8030,40 @@ msgstr "Lista de Materiales" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Requerido" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Añadir pieza" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Eliminar pieza" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "La eliminación de esta parte no puede ser revertida" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "Pedido" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "Precio total" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Componente" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "Mostrar artículos consumibles" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "Tiene Precio" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Rastreable" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "Mostrar plantillas con opciones" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "Tiene Unidades" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "Estás suscrito a las notificaciones de esta categoría" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "Ver orden de venta" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "Stock mínimo" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "Tiene IPN" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "Ordenar partes seleccionadas" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/et/messages.po b/src/frontend/src/locales/et/messages.po index f1a4986d79..3c1d42acde 100644 --- a/src/frontend/src/locales/et/messages.po +++ b/src/frontend/src/locales/et/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: et\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Estonian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "Toimingud" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Otsing" @@ -144,7 +144,7 @@ msgstr "Ei" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Osa" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Osad" @@ -186,7 +186,7 @@ msgstr "Parameeter" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parameetrid" @@ -248,7 +248,7 @@ msgstr "Osa kategooria" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Osa kategooriad" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Lao asukoha liigid" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Laoseisu ajalugu" @@ -376,7 +376,7 @@ msgstr "Ostukorraldus" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Ostukorraldused" @@ -408,7 +408,7 @@ msgstr "" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "" @@ -433,7 +433,7 @@ msgstr "" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Admin" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Madal laoseis" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Näita kui paljude osade laoseis on madal" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 -msgid "Required for Build Orders" +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 +msgid "Required for Build Orders" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Viivitatud ostutellimused" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Alustamine" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Arendage InvenTree'ga" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "Andmed on edukalt importitud" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Sulge" @@ -2396,13 +2405,13 @@ msgstr "Üksuseid pole" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Saadaval" @@ -2775,7 +2784,7 @@ msgstr "Logi välja" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Kuupäev" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Mitteaktiivne" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtuaalne" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Laoseis puudub" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "Tellimisel" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "Tootmises" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Üksikasjad" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Seerianumber" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "Järgmine" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Muuda osa" @@ -3953,7 +3963,7 @@ msgstr "Müügi nõuded" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Väline link" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Pole laos" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Tellimuse koostamise eraldised" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Müügitellimuste eraldamine" @@ -7884,7 +7898,7 @@ msgstr "Märksõnad" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Saadaval laos" @@ -7912,49 +7926,53 @@ msgstr "Määratud müügitellimustele" msgid "Minimum Stock" msgstr "Minimaalne laoseis" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Lukustatud" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Malli osa" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "Testitav osa" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Jälgitav osa" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "Ostetav osa" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "Müüdav osa" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "Müüdav osa" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "Müüdav osa" msgid "Creation Date" msgstr "Loomise kuupäev" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Hinnavahemik" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Variandid" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "Osale osade parameetreid ei saa muuta, kuna osa on lukus" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Nõutud" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Lisa osa" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "Selle osa kustutamist ei saa tagasi võtta" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "Otsi seerianumbri järgi" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Osa toimingud" @@ -8375,7 +8393,7 @@ msgstr "Kogu hind" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Komponent" @@ -9284,7 +9302,7 @@ msgstr "See laoseis on ammendatud" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "Tükkide loendit ei saa redigeerida, kuna osa on lukustatud" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Jälgitav" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "Kuva valikuga mallid" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Filtreeri osa aktiivse staatuse järgi" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "Filtreeri vastavalt osa lukustatud seisundile" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Filtreeri koostise atribuudi järgi" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Kaasa osad alamkategooriatesse" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Filtreeri komponendi atribuudi järgi" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "Filtreeri testitava atribuudi järgi" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Filtreerige jälgitava atribuudi järgi" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Filtreeri osade järgi, millel on ühikud" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Filtreeri osade järgi, millel on siseosade number" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Filtreeri osade järgi, millel on laoseis" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Filtreeri osade järgi, millel on vähe laoseisu" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Filtreeri osade järgi, mis on ostetavad" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Filtreeri osade järgi, mis on müügiloaga" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Filtreeri osade järgi, mis on ostetavad" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Filtreeri osade järgi, mis on müügiloaga" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Filtreeri osade järgi, mis on virtuaalsed" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "On mall" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "Filtreeri osade järgi, mis on mallid" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "On variant" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "Filtreeri osade järgi, mis on revisioonid" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "Filtreeri osade järgi, millel on revisioonid" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "Filtreeri osade järgi, millel on hinnateave" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "Filtreeri osade järgi, mis on revisioonid" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "Filtreeri osade järgi, millel on revisioonid" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "Filtreeri osade järgi, millel on hinnateave" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "Filtreeri osade järgi, millel on laoseis saadaval" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "Filtreeri osade järgi, millele kasutaja on tellinud" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "Määra kategooria" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "Lisa osad" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "Loo osa" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "Loo uus osa" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index 9e734feb96..67794d6eee 100644 --- a/src/frontend/src/locales/fa/messages.po +++ b/src/frontend/src/locales/fa/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fa\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Persian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "" @@ -144,7 +144,7 @@ msgstr "" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "" @@ -248,7 +248,7 @@ msgstr "" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "" @@ -376,7 +376,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "" @@ -408,7 +408,7 @@ msgstr "" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "" @@ -433,7 +433,7 @@ msgstr "" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 -msgid "Required for Build Orders" +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 +msgid "Required for Build Orders" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "" @@ -2775,7 +2784,7 @@ msgstr "" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po index bde5b2e0db..8279679698 100644 --- a/src/frontend/src/locales/fi/messages.po +++ b/src/frontend/src/locales/fi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "" @@ -144,7 +144,7 @@ msgstr "" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "" @@ -248,7 +248,7 @@ msgstr "" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "" @@ -376,7 +376,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "" @@ -408,7 +408,7 @@ msgstr "" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "" @@ -433,7 +433,7 @@ msgstr "" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 -msgid "Required for Build Orders" +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 +msgid "Required for Build Orders" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "" @@ -2775,7 +2784,7 @@ msgstr "" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index f817ca24e7..3312d3e27a 100644 --- a/src/frontend/src/locales/fr/messages.po +++ b/src/frontend/src/locales/fr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -93,7 +93,7 @@ msgstr "Actions" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Rechercher" @@ -144,7 +144,7 @@ msgstr "Non" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Pièce" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Composants" @@ -186,7 +186,7 @@ msgstr "Paramètre" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Paramètres" @@ -248,7 +248,7 @@ msgstr "Catégorie de composant" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Catégories de composants" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Emplacements des stocks" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Historique du stock" @@ -376,7 +376,7 @@ msgstr "Commande d’achat" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Ordres d'achat" @@ -408,7 +408,7 @@ msgstr "Ventes" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Ordres de vente" @@ -433,7 +433,7 @@ msgstr "Retour de commande" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Retours" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Administrateur" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Ordres de fabrication" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Stock faible" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Afficher le nombre de pièces dont le stock est faible" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Requis pour les commandes de construction" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Afficher les pièces requises pour les ordres de fabrication actifs" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Articles de stock expirés" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Afficher le nombre d'articles de stock qui ont expiré" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Articles de stock obsolètes" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Afficher le nombre d'articles de stock qui sont obsolètes" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "Ordres de fabrication actives" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "Afficher le nombre d'ordres de fabrication actuellement actives" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Ordres de construction en retard" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "Afficher le nombre d'ordres de fabrication en retard" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Ordres de fabrication assignées" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Afficher le nombre d'ordres de fabrication qui vous sont assignées" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "Commandes de vente actives" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "Afficher le nombre d'ordres de vente actuellement actives" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Vente en retard" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "Afficher le nombre de commandes de vente en retard" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "Commandes de vente assignées" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "Afficher le nombre de commandes de vente qui vous sont assignées" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "Expéditions en attente" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "Commandes d'achat actives" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "Afficher le nombre de commandes d'achat actuellement actives" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Commandes d'achat en retard" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "Afficher le nombre de commandes d'achat en retard" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "Commandes d'achat assignées" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "Afficher le nombre de commandes d'achat qui vous sont assignées" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "Commandes de retour actives" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "Afficher le nombre de commandes de retour actuellement actives" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "Ordres de retour en retard" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "Afficher le nombre d'ordres de retour en retard" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "Ordres de retour assignés" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "Afficher le nombre d'ordres de retour qui vous sont assignés" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Premiers Pas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Démarrer avec InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "Mises à jour des actualités" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "Les dernières actualités d'InvenTree" @@ -2200,7 +2209,7 @@ msgstr "Les données on était correctement importés" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Fermer" @@ -2396,13 +2405,13 @@ msgstr "Aucun élément" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Disponible" @@ -2775,7 +2784,7 @@ msgstr "Se déconnecter" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "Supprimer le groupe de recherche" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Date" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Livraison" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Inactif" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtuel" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Aucun stock" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "En Commande" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "En Production" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Détails" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Numéro de série" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "Suivant" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Modifier la pièce" @@ -3953,7 +3963,7 @@ msgstr "Conditions de vente" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "Veuillez corriger les erreurs dans la sélection des pièces" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "Commander des pièces" @@ -4541,19 +4551,23 @@ msgstr "A propos du projet InvenTree" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "Substituer une pièce" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "Éditer les alternatives de la nomenclature" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "Ajouter une alternative" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "Alternative ajoutée" @@ -4678,7 +4692,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "Abonné" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "Suivre les notifications de cette pièce" @@ -4777,11 +4791,11 @@ msgstr "Suivre les notifications de cette pièce" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Catégorie de pièce parente" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "S'abonner aux notifications pour cette catégorie" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "Emplacement par défaut" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "Supprimer les articles en stock sélectionnés" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Actions sur le stock" @@ -7102,14 +7116,14 @@ msgstr "La pièce d'assemblage pourrait ne pas avoir de nomenclature (BOM) défi #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "Nomenclature non validée" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Émis par" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Ordre de fabrication enfant" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Lien externe" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Détails de la pièce" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "Ajouter la pièce du fournisseur" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Aucun stock" @@ -7824,13 +7838,13 @@ msgstr "Détails de la catégorie" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Allocation de l'ordre de construction" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Allocations de l'ordre de ventes" @@ -7884,7 +7898,7 @@ msgstr "Mots-clés" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Stock disponible" @@ -7912,49 +7926,53 @@ msgstr "Alloué aux ordres de ventes" msgid "Minimum Stock" msgstr "Stock Minimum" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Verrouillé" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Modèle de la pièce" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Pièce assemblée" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "Pièce composante" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "Pièce testable" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Pièce suivable" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "Pièce achetable" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "Pièce vendable" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "Pièce vendable" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "Pièce vendable" msgid "Creation Date" msgstr "Date de création" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Créé par" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "Expiration par défaut" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "jours" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Échelle des prix" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "Dernier numéro de série" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "Sélectionner une révision de pièce" @@ -7995,16 +8013,16 @@ msgstr "Sélectionner une révision de pièce" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Variants" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Allocations" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Liste des matériaux" @@ -8012,40 +8030,40 @@ msgstr "Liste des matériaux" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Utilisé pour" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Prix des pièces" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Modèles de test" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Pièces associées" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "La pièce est bloquée" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "Les paramètres de la partie ne peuvent pas être modifiés, car la partie est verrouillée" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Requis" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Ajouter Pièce" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Supprimer la pièce" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "La suppression de cette pièce est irréversible" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "Commande" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "Stock de commandes" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "Rechercher par numéro de série" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Actions sur les pièces" @@ -8375,7 +8393,7 @@ msgstr "Prix total" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Composant" @@ -9284,7 +9302,7 @@ msgstr "Cet article a été épuisé" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "Information de stock" @@ -9747,7 +9765,7 @@ msgstr "Pièce virtuelle" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "Stockage externe" @@ -9783,7 +9801,7 @@ msgstr "Inclut le stock de variantes" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "Construire" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "Afficher les articles consommables" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "Possède un Tarif" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "La liste des matériaux ne peut être modifiée, car la pièce est bloqu #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Assemblage" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "Afficher les assemblages actifs" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Suivi de l'évolution" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "Afficher les lignes optionnelles" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "Testable" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "Afficher les modèles avec choix" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "A des unités" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "Vous êtes abonné aux notifications pour cette catégorie" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Inclure les sous-catégories" @@ -11048,184 +11066,192 @@ msgstr "Afficher les articles reçus" msgid "View Sales Order" msgstr "Voir la commande client" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "Stock minimum" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Filtrer par statut actif de la pièce" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "Filtrer par statut de pièce verrouillée" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Filtrer par attribut d'assemblage" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "Nomenclature valide" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "Filtrer avec les pièces qui ont une nomenclature valide" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Inclure les pièces dans les sous-catégories" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Filtrer par attribut de composant" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "Filtrer par attribut testable" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Filtrer par attribut de suivi" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Filtre sur les pièces qui ont des unités" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "A un IPN" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Filtre sur les pièces qui ont un numéro de pièce interne" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "A un stock" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Filtre sur les pièces en stock" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Filtrer les pièces dont le stock est faible" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "Achetable" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Filtre sur les pièces qui peuvent être achetées" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "Vendable" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Filtrer les pièces vendables" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "Achetable" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Filtre sur les pièces qui peuvent être achetées" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "Vendable" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Filtrer les pièces vendables" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Filtrer par pièces virtuelles" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "Est un modèle" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "Filtrer par pièces qui sont des modèles" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "Est une variante" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "Filtrer par pièces qui sont des variantes" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "Est une révision" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "Filtrer par pièces qui sont des révisions" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "Possède des révisions" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "Filtrer par pièces qui ont des révisions" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "Filtrer par pièces qui ont des informations de prix" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "Est une révision" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "Filtrer par pièces qui sont des révisions" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "Possède des révisions" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "Filtrer par pièces qui ont des révisions" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "Filtrer par pièces qui ont des informations de prix" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "Filtrer par pièces qui ont du stock disponible" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "Filtrer par pièces auxquelles l'utilisateur est abonné" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "Définir la catégorie" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "Définir la catégorie pour les pièces sélectionnées" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "Commander les pièces sélectionnées" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po index aea2ecb6e0..6e55144bc7 100644 --- a/src/frontend/src/locales/he/messages.po +++ b/src/frontend/src/locales/he/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: he\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" @@ -93,7 +93,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "חפש" @@ -144,7 +144,7 @@ msgstr "לא" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "פריט" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "פריטים" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "" @@ -248,7 +248,7 @@ msgstr "קטגוריית פריט" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "קטגוריית פריטים" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "סוגי מיקום מלאי" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "היסטוריית מלאי" @@ -376,7 +376,7 @@ msgstr "הזמנות רכש" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "הזמנת רכש" @@ -408,7 +408,7 @@ msgstr "הזמנת מכירה" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "הזמנות מכירה" @@ -433,7 +433,7 @@ msgstr "החזרת הזמנה" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "החזרת הזמנות" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "מלאי נמוך" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "נדרש עבור בניית הזמנות " -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "הכנת הזמנות באיחור" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "איחור בהזמנות מכירה" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "הזמנות רכש באיחור" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "תחילת עבודה" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "תחילת העבודה עם InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "הנתונים יובאו בהצלחה" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "סגור" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "" @@ -2775,7 +2784,7 @@ msgstr "התנתק" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "משלוח" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "לא פעיל" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "אין מלאי" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "מספר סידורי" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "לא ניתן לערוך את כתב החומרים, מכיוון שהפ #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "ניתן למעקב" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po index 51d4417db5..3f0af840d6 100644 --- a/src/frontend/src/locales/hi/messages.po +++ b/src/frontend/src/locales/hi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: hi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "" @@ -144,7 +144,7 @@ msgstr "" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "" @@ -248,7 +248,7 @@ msgstr "" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "" @@ -376,7 +376,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "" @@ -408,7 +408,7 @@ msgstr "" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "" @@ -433,7 +433,7 @@ msgstr "" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 -msgid "Required for Build Orders" +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 +msgid "Required for Build Orders" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "" @@ -2775,7 +2784,7 @@ msgstr "" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po index 3e094f3aa6..58108dd32e 100644 --- a/src/frontend/src/locales/hu/messages.po +++ b/src/frontend/src/locales/hu/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: hu\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "Műveletek" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Keresés" @@ -144,7 +144,7 @@ msgstr "Nem" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Alkatrész" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Alkatrészek" @@ -186,7 +186,7 @@ msgstr "Paraméter" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Paraméterek" @@ -248,7 +248,7 @@ msgstr "Alkatrész kategória" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Alkatrész kategóriák" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Készlethely típusok" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Készlettörténet" @@ -376,7 +376,7 @@ msgstr "Beszerzési rendelés" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Beszerzési rendelések" @@ -408,7 +408,7 @@ msgstr "Vevői rendelés" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Vevői rendelések" @@ -433,7 +433,7 @@ msgstr "Visszavétel" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Visszavételek" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Adminisztrátor" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Gyártási utasítások" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Alacsony készlet" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Alacsony készletű alkatrészek száma" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Gyártáshoz szükséges" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Aktív gyártáshoz szükséges alkatrészek" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Lejárt Készlettételek" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Lejárt készlettételek száma" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Álló készlettételek" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Álló készlettételek száma" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "Aktív gyártási rendelések" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "Aktív gyártási rendelések száma" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Késésben lévő gyártások" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "Késésben levő gyártási rendelések száma" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Hozzárendelt Gyártási Rendelések" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Saját Hozzárendelt Gyártási Rendelések száma" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "Aktív értékesítési rendelések" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "Mutassa a jelenleg aktív értékesítési rendelések számát" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Késésben lévő vevői rendelések" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "Mutassa a lejárt értékesítési rendelések számát" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "Hozzárendelt Értékesítési Rendelések" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "Mutassa az Önhöz rendelt értékesítési rendelések számát" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "Függőben Lévő Szállítmányok" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "Mutassa a függőben lévő értékesítési rendelés szállítmányok számát" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "Aktív Beszerzési Rendelések" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "Mutassa a jelenleg aktív beszerzési rendelések számát" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Késésben lévő beszerzések" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "Mutassa a lejárt beszerzési rendelések számát" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "Hozzárendelt Beszerzési Rendelések" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "Mutassa az Önhöz rendelt beszerzési rendelések számát" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "Aktív Visszáru Rendelések" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "Mutassa a jelenleg aktív visszáru rendelések számát" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "Lejárt Visszáru Rendelések" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "Mutassa a lejárt visszáru rendelések számát" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "Hozzárendelt Visszáru Rendelések" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "Mutassa az Önhöz rendelt visszáru rendelések számát" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Első lépések" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Első lépések az InvenTree-vel" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "Friss hírek" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "A legfrissebb hírek az InvenTree-ről" @@ -2200,7 +2209,7 @@ msgstr "Az adatok sikeresen importálva" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Bezárás" @@ -2396,13 +2405,13 @@ msgstr "Nincsenek tételek" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Elérhető" @@ -2775,7 +2784,7 @@ msgstr "Kijelentkezés" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "Keresési csoport eltávolítása" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Dátum" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Szállítmány" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Inaktív" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtuális" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Nincs készlet" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "Rendelve" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "Gyártásban" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Részletek" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Sorozatszám" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "Következő" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Alkatrész szerkesztése" @@ -3953,7 +3963,7 @@ msgstr "Értékesítési igények" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "Kérjük javítsa ki a hibákat a kiválasztott alkatrészeknél" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "Alkatrészek megrendelése" @@ -4541,19 +4551,23 @@ msgstr "Az InvenTree projektről" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "Helyettesítő alkatrész" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "Anyagjegyzék helyettesítők szerkesztése" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "Helyettesítő hozzáadása" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "Helyettesítő hozzáadva" @@ -4678,7 +4692,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "Projekt kód kiválasztása ehhez a sortételhez" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "Feliratkozva" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "Feliratkozás az értesítésekre ehhez az alkatrészhez" @@ -4777,11 +4791,11 @@ msgstr "Feliratkozás az értesítésekre ehhez az alkatrészhez" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Felsőbb szintű alkatrész kategória" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "Feliratkozás az értesítésekre ehhez a kategóriához" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "Alapértelmezett készlethely kiválasztva" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "Kiválasztott készlet tételek törlése" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Készlet műveletek" @@ -7102,14 +7116,14 @@ msgstr "Az összeszerelt alkatrészhez nem lehet anyagjegyzék (BOM) definiálva #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "Alkatrészjegyzék nincs ellenőrizve" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Kiállította" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Alárendelt gyártások" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Külső link" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Alkatrész részletei" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "Beszállítói alkatrész hozzáadása" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Nincs készlet" @@ -7824,13 +7838,13 @@ msgstr "Kategória részletei" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Gyártáshoz foglalások" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Vevői rendeléshez foglalások" @@ -7884,7 +7898,7 @@ msgstr "Kulcsszavak" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Elérhető készlet" @@ -7912,49 +7926,53 @@ msgstr "Értékesítési rendeléshez lefoglalva" msgid "Minimum Stock" msgstr "Minimum készlet" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Zárolt" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Sablon alkatrész" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Gyártmány alkatrész" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "Komponens alkatrész" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "Tesztelhető alkatrész" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Nyomkövethető alkatrész" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "Beszerezhető alkatrész" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "Értékesíthető alkatrész" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "Értékesíthető alkatrész" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "Értékesíthető alkatrész" msgid "Creation Date" msgstr "Létrehozás dátuma" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Készítette" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "nap" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Ártartomány" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "Legutolsó sorozatszám" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "Alkatrész revízió kiválasztása" @@ -7995,16 +8013,16 @@ msgstr "Alkatrész revízió kiválasztása" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Változatok" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Foglalások" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Alkatrészjegyzék" @@ -8012,40 +8030,40 @@ msgstr "Alkatrészjegyzék" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Felhasználva ebben" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Alkatrész árak" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Teszt sablonok" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Kapcsolódó alkatrészek" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "Zárolt alkatrész" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "Az alkatrész paraméterek nem szerkeszthetők, mivel az alkatrész zárolva van" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Kötelező" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "Hiány" @@ -8057,37 +8075,37 @@ msgstr "Hiány" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Alkatrész hozzáadása" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Alkatrész törlése" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "Az alkatrész törlése nem visszavonható" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "Rendelés" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "Készlet rendelés" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "Sorozatszámra keresés" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Alkatrész műveletek" @@ -8375,7 +8393,7 @@ msgstr "Teljes ár" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Összetevő" @@ -9284,7 +9302,7 @@ msgstr "Készlet tétel elfogyott" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "Készlet adatok" @@ -9747,7 +9765,7 @@ msgstr "Virtuális alkatrész" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "Külső készlet" @@ -9783,7 +9801,7 @@ msgstr "Változatokkal együtt" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "Gyártásban" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "Fogyóeszköz tételek megjelenítése" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "Van árazás" @@ -9930,7 +9948,7 @@ msgstr "Egyetlen BOM tétel hozzáadása" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "Importálás Fájlból" @@ -9954,7 +9972,7 @@ msgstr "Az anyagjegyzék nem szerkeszthető mivel az alkatrész zárolva van" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Gyártmány" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "Aktív összeállítások megjelenítése" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Követésre kötelezett" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "Opcionális sorok mutatása" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "Tesztelhető" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "Választási lehetőségekkel rendelkező sablonok megjelenítése" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "Van mértékegysége" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "Feliratkozott az értesítésekre ehhez a kategóriához" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Alkategóriákkal együtt" @@ -11048,184 +11066,192 @@ msgstr "Bevételezett tételek megjelenítése" msgid "View Sales Order" msgstr "Értékesítési rendelés megtekintése" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "Minimális készlet" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Szűrés aktív státusz szerint" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "Szűrés zárolás státusz szerint" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Szűrés szerelési tulajdonság szerint" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "Alkatrészjegyzék ellenőrzött" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "Szűrés érvényes alkatrészjegyzékkel rendelkező alkatrészekre" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Alkategóriákkal együtt" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Szűrés összetevő tulajdonság szerint" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "Szűrés tesztelhető tulajdonság szerint" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Szűrés követésre kötelezettség szerint" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Szűrés meglévő mértékegység szerint" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "Van IPN-je" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Szűrés meglévő IPN szerint" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "Van készlet" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Szűrés meglévő készlet szerint" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Szűrés alacsony készlet szerint" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "Beszerezhető" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Szűrés beszerezhetőség szerint" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "Értékesíthető" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Szűrés értékesíthetőség szerint" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "Beszerezhető" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Szűrés beszerezhetőség szerint" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "Értékesíthető" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Szűrés értékesíthetőség szerint" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Szűrés virtuális alkatrészek szerint" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "Sablon-e" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "Szűrés sablonokra" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "Változat-e" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "Szűrés változatokra" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "Változat-e" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "Szűrés revíziókra" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "Vannak változatai" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "Szűrés revíziókkal rendelkező alkatrészekre" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "Szűrés árazási információval rendelkező alkatrészekre" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "Változat-e" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "Szűrés revíziókra" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "Vannak változatai" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "Szűrés revíziókkal rendelkező alkatrészekre" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "Szűrés árazási információval rendelkező alkatrészekre" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "Szűrés elérhető készlettel rendelkező alkatrészekre" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "Szűrés feliratkozott alkatrészekre" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "Alkatrészek importálása" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "Kategória beállítása" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "Kategória beállítása a kiválasztott alkatrészekhez" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "Kiválasztott alkatrészek rendelése" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "Alkatrészek hozzáadása" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "Alkatrész létrehozása" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "Új alkatrész létrehozása" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "Alkatrészek importálása fájlból" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "Importálás beszállítótól" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "Alkatrészek importálása beszállítói bővítményből" diff --git a/src/frontend/src/locales/id/messages.po b/src/frontend/src/locales/id/messages.po index ffe15fa538..55a9b91334 100644 --- a/src/frontend/src/locales/id/messages.po +++ b/src/frontend/src/locales/id/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: id\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -93,7 +93,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Cari" @@ -144,7 +144,7 @@ msgstr "Tidak" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "" @@ -248,7 +248,7 @@ msgstr "" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "" @@ -376,7 +376,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "" @@ -408,7 +408,7 @@ msgstr "" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "" @@ -433,7 +433,7 @@ msgstr "" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 -msgid "Required for Build Orders" +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 +msgid "Required for Build Orders" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Tutup" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "" @@ -2775,7 +2784,7 @@ msgstr "" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Tidak Aktif" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Tidak ada persediaan" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Rincian" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Nomor Seri" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "Total Harga" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index 16e17b8f09..55622146a9 100644 --- a/src/frontend/src/locales/it/messages.po +++ b/src/frontend/src/locales/it/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: it\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "Azioni" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Ricerca" @@ -144,7 +144,7 @@ msgstr "No" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Articolo" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Articoli" @@ -186,7 +186,7 @@ msgstr "Parametro" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parametri" @@ -248,7 +248,7 @@ msgstr "Categoria Articolo" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Categorie Articolo" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Tipi ubicazione articolo" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Cronologia Magazzino" @@ -376,7 +376,7 @@ msgstr "Ordine d'acquisto" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Ordini d'acquisto" @@ -408,7 +408,7 @@ msgstr "Ordine di Vendita" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Ordini di Vendita" @@ -433,7 +433,7 @@ msgstr "Ordine di reso" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Ordini di reso" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Admin" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Ordini di Produzione" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Disponibilità scarsa" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Mostra il numero di articoli che sono scarsi in stock" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Richiesto per gli ordini di produzione" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Mostra gli articolo che sono necessari per gli ordini di produzione attivi" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Elementi in Giacenza Scaduti" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Mostra il numero di elementi in giacenza scaduti" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Scorte obsolete" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Mostra il numero di elementi in giacenza obsoleti" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "Ordini di Produzione Attivi" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "Mostra il numero di ordini di produzione attualmente attivi" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Ordini di Produzione in Ritardo" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "Mostra il numero di ordini di produzione in ritardo" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Ordini di Produzione Assegnati" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Mostra il numero di ordini di produzione assegnati a te" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "Ordini di Vendita Attivi" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "Mostra il numero di ordini di vendita attualmente attivi" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Ordini Di Vendita in Ritardo" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "Mostra il numero di ordini di vendita in ritardo" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "Ordini di Vendita Assegnati" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "Mostra il numero di ordini di vendita assegnati a te" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "Spedizioni in sospeso" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "Mostra il numero di spedizioni di ordini di vendita in sospeso" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "Ordini Di Acquisto Attivi" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "Mostra il numero di ordini di acquisto attualmente attivi" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Ordini Di Acquisto In Ritardo" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "Mostra il numero di ordini di acquisto in ritardo" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "Ordini Di Acquisto Assegnati" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "Mostra il numero di ordini di acquisto assegnati a te" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "Ordini di Reso Attivi" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "Mostra il numero di ordini di reso attualmente attivi" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "Ordini di Reso in Ritardo" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "Mostra il numero di ordini di reso in ritardo" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "Ordini di Reso Assegnati" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "Mostra il numero di ordini di reso assegnati a te" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Per Iniziare" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Per iniziare con InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "Aggiornamenti Notizie" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "Le ultime notizie da InvenTree" @@ -2200,7 +2209,7 @@ msgstr "I dati sono stati importati correttamente" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Chiudi" @@ -2396,13 +2405,13 @@ msgstr "Nessun articolo" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Disponibile" @@ -2775,7 +2784,7 @@ msgstr "Disconnettiti" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "Rimuovi gruppo di ricerca" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Data" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Spedizione" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Inattivo" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtuale" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Nessuno stock" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "In ordine" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "In Produzione" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Dettagli" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Numero Seriale" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "Successivo" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Modifica Articolo" @@ -3953,7 +3963,7 @@ msgstr "Requisiti di vendita" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "Si prega di correggere gli errori negli articoli selezionati" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "Ordine Articoli" @@ -4541,19 +4551,23 @@ msgstr "A proposito del progetto InvenTree" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "Articolo Sostituivo" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "Modifica Sostitutivi della Distinta Base" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "Aggiungi Sostitutivo" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "Sostitutivo aggiunto" @@ -4678,7 +4692,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "Seleziona il codice progetto per questa voce di riga" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "Sottoscritto" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "Sottoscrivi le notifiche per questo articolo" @@ -4777,11 +4791,11 @@ msgstr "Sottoscrivi le notifiche per questo articolo" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Categoria articolo principale" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "Sottoscrivi notifiche per questa categoria" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "Posizione predefinita selezionata" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "Elimina gli articoli a magazzino selezionati" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Azioni magazzino" @@ -7102,14 +7116,14 @@ msgstr "L'articolo assemblato non può avere una Distinta base (BOM) definita, o #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "Distinta base non validata" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Emesso da" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Ordine di Produzione Subordinato" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Collegamento esterno" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Dettagli Articolo" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "Aggiungi articolo fornitore" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Nessuna giacenza" @@ -7824,13 +7838,13 @@ msgstr "Dettagli categoria" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Assegnazione ordine di produzione" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Assegnazione Ordini Di Vendita" @@ -7884,7 +7898,7 @@ msgstr "Parole Chiave" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Giacenza Disponibile" @@ -7912,49 +7926,53 @@ msgstr "Assegnato agli Ordini di Vendita" msgid "Minimum Stock" msgstr "Scorta Minima" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Bloccato" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Modello articolo" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Articolo assemblato" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "Articolo Componente" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "Articolo Testabile" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Articolo tracciabile" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "Articolo Acquistabile" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "Articolo Vendibile" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "Articolo Vendibile" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "Articolo Vendibile" msgid "Creation Date" msgstr "Data di creazione" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Creato Da" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "giorni" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Fascia di Prezzo" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "Ultimo Numero Di Serie" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "Seleziona Revisione Articolo" @@ -7995,16 +8013,16 @@ msgstr "Seleziona Revisione Articolo" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Varianti" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Allocazioni" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Distinta base" @@ -8012,40 +8030,40 @@ msgstr "Distinta base" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Utilizzato In" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Prezzo Articolo" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Modelli test" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Articoli correlati" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "L'articolo è bloccato" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "I parametri dell'articolo non possono essere modificati, poiché l'articolo è bloccata" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Richiesto" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "Deficit" @@ -8057,37 +8075,37 @@ msgstr "Deficit" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Aggiungi articolo" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Elimina Articolo" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "L'eliminazione di questo articolo non è reversibile" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "Ordine" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "Ordine Stock" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "Cerca per numero di serie" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Azioni articolo" @@ -8375,7 +8393,7 @@ msgstr "Prezzo Totale" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Componente" @@ -9284,7 +9302,7 @@ msgstr "Questo articolo di magazzino è esaurito" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "Informazioni sulle scorte" @@ -9747,7 +9765,7 @@ msgstr "Articolo Virtuale" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "Scorte esterne" @@ -9783,7 +9801,7 @@ msgstr "Comprende varianti scorte" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "In produzione" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "Mostra articoli consumabili" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "Ha Prezzi" @@ -9930,7 +9948,7 @@ msgstr "Aggiungi un singolo articolo BOM" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "Importa da File" @@ -9954,7 +9972,7 @@ msgstr "La distinta base non può essere modificata, in quanto la parte è blocc #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Assemblaggio" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "Mostra assemblaggi attivi" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Tracciabile" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "Mostra linee opzionali" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "Testabile" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "Mostra modelli con scelte" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "Ha Unità" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "Sei iscritto alle notifiche per questa categoria" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Includi sottocategorie" @@ -11048,184 +11066,192 @@ msgstr "Visualizza articoli ricevuti" msgid "View Sales Order" msgstr "Vedi Ordine di Vendita" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "Giacenza minima" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Filtra per stato attivo articolo" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "Filtra per stato di blocco articolo" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Filtra per attributo assemblaggio" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "Distinta base valida" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "Filtra per articoli che hanno una distinta base validata" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Includi articoli nelle sotto categorie" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Filtra per attributo componente" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "Filtra per attributo testabile" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Filtra per attributo tracciabile" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Filtra per articoli che hanno unità" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "Ha IPN" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Filtra per articoli che hanno un numero interno" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "Ha Scorte" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Filtra per articoli che hanno scorte" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Filtra per articoli che hanno bassa scorta" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "Acquistabile" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Filtra per articoli che sono acquistabili" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "Vendibile" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Filtra per articoli che sono vendibili" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "Acquistabile" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Filtra per articoli che sono acquistabili" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "Vendibile" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Filtra per articoli che sono vendibili" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Filtra per articoli che sono virtuali" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "È Modello" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "Filtra per articoli che sono modelli" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "È una Variante" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "Filtra per articoli che sono varianti" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "È una revisione" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "Filtra per articoli che sono revisioni" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "Ha revisioni" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "Filtra per articoli che hanno revisioni" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "Filtra per articoli che hanno informazioni sui prezzi" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "È una revisione" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "Filtra per articoli che sono revisioni" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "Ha revisioni" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "Filtra per articoli che hanno revisioni" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "Filtra per articoli che hanno informazioni sui prezzi" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "Filtra per articoli che hanno scorte disponibili" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "Filtra per articoli a cui l'utente è iscritto" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "Importa Articoli" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "Imposta Categoria" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "Imposta categoria per gli articoli selezionati" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "Ordina articoli selezionati" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "Aggiungi Articoli" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "Crea Articolo" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "Crea nuovo articolo" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "Importa Articoli da File" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "Importa dal Fornitore" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "Importa articoli da un plugin del fornitore" diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 3d64078233..a9ee9a5fe9 100644 --- a/src/frontend/src/locales/ja/messages.po +++ b/src/frontend/src/locales/ja/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ja\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -93,7 +93,7 @@ msgstr "アクション" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "検索" @@ -144,7 +144,7 @@ msgstr "いいえ" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "パーツ" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "パーツ" @@ -186,7 +186,7 @@ msgstr "パラメータ" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "パラメータ" @@ -248,7 +248,7 @@ msgstr "パーツカテゴリ" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "パーツカテゴリ" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "ストックロケーションの種類" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "株式履歴" @@ -376,7 +376,7 @@ msgstr "注文" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "購入注文" @@ -408,7 +408,7 @@ msgstr "セールスオーダー" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "セールスオーダー" @@ -433,7 +433,7 @@ msgstr "リターンオーダー" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "返品注文" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "管理者" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "組立注文" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "在庫少" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "低在庫部品数を表示" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "ご注文に必要なもの" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "有効な製造指示の必要部品を表示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "期限切れ在庫品" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "期限切れ在庫品数を表示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "古くなった在庫品" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "古くなった在庫品数を表示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "有効な製造指示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "現在有効な製造指示の数を表示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "期限切れ受注" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "期限切れ製造指示の数を表示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "割り当てられた製造指示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "割り当てられた製造指示の数を表示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "有効な受注" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "現在有効な受注数を表示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "販売期限切れ注文" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "期限切れ受注数を表示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "割り当てられた受注" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "割り当てられた受注数を表示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "保留中の出荷" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "保留中のセールスオーダー出荷件数を表示する" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "有効な購入指示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "現在有効な購入指示の数を表示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "期限切れ発注書" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "期限切れ購入指示の数を表示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "割り当てられた購入指示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "割り当てられている購入指示の数を表示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "有効な返品指示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "現在有効な返品指示の数を表示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "期限切れ返品指示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "期限切れ返品指示の数を表示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "割り当てられた返品指示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "割り当てられた返品指示の数を表示" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "はじめましょう" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "InvenTreeの利用開始" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "最新ニュース" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "InvenTreeの最新ニュース" @@ -2200,7 +2209,7 @@ msgstr "データは正常にインポートされました" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "閉じる" @@ -2396,13 +2405,13 @@ msgstr "項目なし" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "利用可能" @@ -2775,7 +2784,7 @@ msgstr "ログアウト" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "検索グループの削除" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "日付" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "発送" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "非アクティブ" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "仮想部品" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "在庫なし" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "注文中" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "生産中" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "詳細" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "シリアル番号" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "次へ" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "パーツを編集" @@ -3953,7 +3963,7 @@ msgstr "販売要件" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "選択した部品の誤りを訂正してください。" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "パーツの注文" @@ -4541,19 +4551,23 @@ msgstr "InvenTreeプロジェクトについて" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "代替部品" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "BOM代替品編集" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "代替品を追加" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "代替品を追加した" @@ -4678,7 +4692,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "この明細行のプロジェクトコードを選択してください #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "登録済み" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "このパーツの通知を受け取る" @@ -4777,11 +4791,11 @@ msgstr "このパーツの通知を受け取る" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "親部品カテゴリー" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "このカテゴリの通知を受け取る" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "デフォルトの場所を選択" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "選択された在庫品を削除します" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "ストックアクション" @@ -7102,14 +7116,14 @@ msgstr "組み立てられた部品には部品表(BOM)が定義されてい #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "BOMが未検証です" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "発行者" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "チャイルド・ビルド・オーダー" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "外部リンク" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "部品詳細" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "サプライヤー部品の追加" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "在庫切れ" @@ -7824,13 +7838,13 @@ msgstr "カテゴリー詳細" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "ビルド・オーダー・アロケーション" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "販売注文の割り当て" @@ -7884,7 +7898,7 @@ msgstr "キーワード" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "在庫状況" @@ -7912,49 +7926,53 @@ msgstr "販売注文に割り当て" msgid "Minimum Stock" msgstr "最小在庫" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "ロック中" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "テンプレート部品" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "組立部品" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "構成部品" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "テスト可能な部分" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "追跡可能部品" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "購入可能部品" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "売却可能部分" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "売却可能部分" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "売却可能部分" msgid "Creation Date" msgstr "作成日時" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "作成者" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "デフォルトの有効期限" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "日" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "料金帯" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "最新のシリアル番号" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "部品リビジョンの選択" @@ -7995,16 +8013,16 @@ msgstr "部品リビジョンの選択" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "バリアント" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "割り当て" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "部品表" @@ -8012,40 +8030,40 @@ msgstr "部品表" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "中古" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "部品価格" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "テストテンプレート" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "関連部品" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "部品がロックされています" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "パートがロックされているため、パートパラメータを編集できません。" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "必須" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "不足数" @@ -8057,37 +8075,37 @@ msgstr "不足数" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "部品追加" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "削除部分" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "この部分の削除は元に戻せません" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "注文" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "注文在庫" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "シリアル番号で検索" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "パートアクション" @@ -8375,7 +8393,7 @@ msgstr "合計金額" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "コンポーネント" @@ -9284,7 +9302,7 @@ msgstr "この在庫はなくなりました" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "株式情報" @@ -9747,7 +9765,7 @@ msgstr "仮想部品" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "外部在庫" @@ -9783,7 +9801,7 @@ msgstr "バリアントストック付き" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "建物" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "消耗品の表示" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "価格" @@ -9930,7 +9948,7 @@ msgstr "BOMに1つの部品を追加する" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "ファイルからインポート" @@ -9954,7 +9972,7 @@ msgstr "部品がロックされているため、部品表を編集できませ #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "アセンブリ" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "アクティブなアセンブリの表示" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "追跡可能" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "オプションラインの表示" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "テスト可能" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "選択肢のあるテンプレートを表示" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "ユニット" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "このカテゴリの通知を購読しています" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "サブカテゴリを含む" @@ -11048,184 +11066,192 @@ msgstr "受信アイテムの表示" msgid "View Sales Order" msgstr "販売オーダーを見る" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "最小在庫" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "有効なパーツでフィルタ" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "部品ロック状態によるフィルタリング" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "アセンブリ属性によるフィルタリング" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "BOMが有効です" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "有効なBOMを持つ部品でフィルタリングしてください" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "サブカテゴリのパーツを含む" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "コンポーネント属性でフィルタ" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "テスト可能な属性によるフィルタリング" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "追跡可能属性でフィルタ" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "単位のある部品でフィルタ" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "IPNあり" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "内部部品番号を持つ部品によるフィルタリング" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "在庫あり" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "在庫がある部品でフィルタ" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "在庫の少ない部品で絞り込み" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "購入可能" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "購入可能な部品でフィルタ" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "販売可能" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "販売可能な部品でフィルタ" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "購入可能" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "購入可能な部品でフィルタ" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "販売可能" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "販売可能な部品でフィルタ" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "仮想部品でフィルタ" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "テンプレート" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "テンプレートになっているパーツで絞り込み" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "バリエーション?" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "バリエーション部品によるフィルタリング" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "改訂版" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "改定箇所による絞り込み" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "改定あり" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "リビジョンがある部品でフィルタリング" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "価格情報のある部品でフィルタリング" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "改訂版" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "改定箇所による絞り込み" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "改定あり" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "リビジョンがある部品でフィルタリング" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "価格情報のある部品でフィルタリング" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "在庫のある部品で絞り込み" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "ユーザーが購読しているパートによるフィルタリング" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "部品をインポートします" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "カテゴリを設定" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "選択した部品にカテゴリを設定" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "選択した部品の注文" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "パーツを追加" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "部品を作成する" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "新しい部品を作成します" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "部品をファイルからインポートします" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "サプライヤーからインポートします" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "サプライヤープラグインから部品をインポートします" diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po index 9eb1a466b5..23780ab7c5 100644 --- a/src/frontend/src/locales/ko/messages.po +++ b/src/frontend/src/locales/ko/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ko\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -93,7 +93,7 @@ msgstr "작업" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "찾다" @@ -144,7 +144,7 @@ msgstr "아니요" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "부품" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "부품" @@ -186,7 +186,7 @@ msgstr "매개변수" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "매개변수" @@ -248,7 +248,7 @@ msgstr "부품 카테고리" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "부품 카테고리 목록" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "재고 위치 유형 목록" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "재고 이력" @@ -376,7 +376,7 @@ msgstr "발주서" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "발주서" @@ -408,7 +408,7 @@ msgstr "판매 주문서" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "판매 주문서" @@ -433,7 +433,7 @@ msgstr "반품 주문" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "반품 주문 목록" @@ -596,7 +596,7 @@ msgstr "선택 항목" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "관리" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "생산 오더" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "재고 부족" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "재고가 부족한 부품 수 표시" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "생산 주문에 필요" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "진행 중인 생산 주문에 필요한 부품을 표시합니다" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "만료된 재고 품목" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "만료된 재고 품목 수를 표시합니다" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "오래된 재고 품목" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "오래된 재고 품목 수를 표시합니다" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "진행 중인 생산 주문" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "현재 진행 중인 생산 주문 수를 표시합니다" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "지연된 생산 주문" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "지연된 생산 주문 수를 표시합니다" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "할당된 생산 주문" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "나에게 할당된 생산 주문 수를 표시합니다" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "진행 중인 판매 주문" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "현재 진행 중인 판매 주문 수를 표시합니다" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "지연된 판매 주문" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "지연된 판매 주문 수를 표시합니다" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "할당된 판매 주문" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "나에게 할당된 판매 주문 수를 표시합니다" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "배송 대기 중" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "대기 중인 판매 주문 배송 수 표시" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "진행 중인 발주서" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "현재 진행 중인 발주서 수를 표시합니다" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "기한이 지난 발주서" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "기한이 지난 발주서 수를 표시합니다" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "나에게 할당된 발주서" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "나에게 할당된 발주서 수를 표시합니다" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "진행 중인 반품 주문" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "현재 진행 중인 반품 주문 수를 표시합니다" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "기한이 지난 반품 주문" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "기한이 지난 반품 주문 건수 표시" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "나에게 할당된 반품 주문" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "나에게 할당된 반품 주문 수를 표시합니다" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "입문하기" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "InvenTree 시작하기" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "뉴스&업데이트" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "InvenTree의 최신 소식" @@ -2200,7 +2209,7 @@ msgstr "데이터를 성공적으로 가져왔습니다." #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "닫다" @@ -2396,13 +2405,13 @@ msgstr "항목 없음" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "사용 가능" @@ -2775,7 +2784,7 @@ msgstr "로그아웃" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "검색 그룹 제거" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "날짜" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "선적" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "비활성" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "가상" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "재고 없음" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "주문시" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "생산 중" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "상세 정보" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "시리얼 번호" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "다음" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "부품 편집" @@ -3953,7 +3963,7 @@ msgstr "판매 요건" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "선택한 부분의 오류를 수정해주세요" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "자재 발주" @@ -4541,19 +4551,23 @@ msgstr "InvenTree 프로젝트 소개" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "대체 부품" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "BOM 대체 부품 편집" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "대체 부품 추가" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "대체 부품이 추가되었습니다" @@ -4678,7 +4692,7 @@ msgstr "품목 번호(IPN)" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "이 품목의 프로젝트 코드를 선택하세요." #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "구독 중" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "이 부품의 알림을 구독" @@ -4777,11 +4791,11 @@ msgstr "이 부품의 알림을 구독" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "상위 부품 카테고리" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "이 카테고리의 알림을 구독" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "기본 위치가 선택되었습니다" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "선택한 재고 품목 삭제" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "재고 작업" @@ -7102,14 +7116,14 @@ msgstr "조립된 부품에 BOM(재료 명세서)이 정의되어 있지 않거 #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "BOM이 검증되지 않음" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "발행자" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "하위 생산 주문" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "외부링크" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "부품 상세 정보" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "협력업체 부품 추가" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "재고 없음" @@ -7824,13 +7838,13 @@ msgstr "카테고리 상세 정보" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "생산 주문 할당" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "판매 주문 할당" @@ -7884,7 +7898,7 @@ msgstr "키워드" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "사용 가능한 재고" @@ -7912,49 +7926,53 @@ msgstr "판매 주문에 할당됨" msgid "Minimum Stock" msgstr "최소 재고" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "잠김" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "템플릿 부분" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "조립부품" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "구성 부품" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "테스트 가능한 부분" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "추적 가능한 부분" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "구매 가능한 부품" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "판매 가능 부품" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "판매 가능 부품" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "판매 가능 부품" msgid "Creation Date" msgstr "생성 날짜" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "작성자" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "기본 만료" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "날" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "가격대" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "최신 시리얼 번호" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "부품 리비전 선택" @@ -7995,16 +8013,16 @@ msgstr "부품 리비전 선택" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "변형" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "할당" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "BOM" @@ -8012,40 +8030,40 @@ msgstr "BOM" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "사용 위치" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "부품 가격" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "테스트 템플릿" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "관련 부품" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "부품이 잠겨 있습니다" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "부품이 잠겨 있어 파라미터를 편집할 수 없습니다" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "필요" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "부족분" @@ -8057,37 +8075,37 @@ msgstr "부족분" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "부품 추가" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "부품 삭제" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "이 부분을 삭제하면 되돌릴 수 없습니다." -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "주문하다" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "재고 주문" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "시리얼 번호로 검색" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "부품 작업" @@ -8375,7 +8393,7 @@ msgstr "총가격" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "요소" @@ -9284,7 +9302,7 @@ msgstr "본 상품은 재고가 소진되었습니다" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "재고 정보" @@ -9747,7 +9765,7 @@ msgstr "가상 부품" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "외부 재고" @@ -9783,7 +9801,7 @@ msgstr "변형 재고 포함" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "생산 중" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "소모성 아이템 표시" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "가격 있음" @@ -9930,7 +9948,7 @@ msgstr "단일 BOM 항목 추가" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "파일에서 가져오기" @@ -9954,7 +9972,7 @@ msgstr "부품이 잠겨 있으므로 BOM을 편집할 수 없습니다." #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "조립품" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "활성 조립품 표시" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "추적 가능" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "선택 항목 표시" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "테스트 가능" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "선택 항목이 있는 템플릿 표시" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "단위 있음" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "이 카테고리의 알림을 구독 중입니다" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "하위 카테고리 포함" @@ -11048,184 +11066,192 @@ msgstr "입고된 항목 표시" msgid "View Sales Order" msgstr "판매 주문 보기" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "최소 재고" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "부품 활성 상태로 필터링" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "부품 잠금 상태로 필터링" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "조립 속성으로 필터링" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "유효한 BOM" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "유효한 BOM이 있는 부품으로 필터링" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "하위 범주에 부품 포함" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "구성품 속성으로 필터링" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "테스트 가능 속성으로 필터링" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "추적 가능 속성으로 필터링" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "단위가 있는 부품으로 필터링" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "IPN 있음" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "내부 부품 번호가 있는 부품으로 필터링" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "재고 있음" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "재고가 있는 부품으로 필터링" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "재고가 부족한 부품으로 필터링" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "구매 가능" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "구매 가능한 부품으로 필터링" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "팔리는" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "판매 가능한 부품으로 필터링" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "구매 가능" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "구매 가능한 부품으로 필터링" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "팔리는" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "판매 가능한 부품으로 필터링" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "가상 부품으로 필터링" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "템플릿임" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "템플릿 부품으로 필터링" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "변형인가" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "변형 부품으로 필터링" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "리비전임" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "리비전 부품으로 필터링" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "리비전 있음" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "리비전이 있는 부품으로 필터링" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "가격 정보가 있는 부품으로 필터링" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "리비전임" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "리비전 부품으로 필터링" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "리비전 있음" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "리비전이 있는 부품으로 필터링" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "가격 정보가 있는 부품으로 필터링" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "사용 가능한 재고가 있는 부품으로 필터링" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "사용자가 구독한 부품으로 필터링" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "부품 수입" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "카테고리 설정" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "선택한 부품에 대한 카테고리 설정" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "선택한 부품 주문" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "부품 추가" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "부품 생성" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "새 부품 생성" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "파일에서 부품 가져오기" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "공급업체로부터 수입" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "공급업체 플러그인에서 부품 가져오기" diff --git a/src/frontend/src/locales/lt/messages.po b/src/frontend/src/locales/lt/messages.po index 1fae05b847..3fc0779cb8 100644 --- a/src/frontend/src/locales/lt/messages.po +++ b/src/frontend/src/locales/lt/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: lt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Lithuanian\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && (n%100>19 || n%100<11) ? 0 : (n%10>=2 && n%10<=9) && (n%100>19 || n%100<11) ? 1 : n%1!=0 ? 2: 3);\n" @@ -93,7 +93,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "" @@ -144,7 +144,7 @@ msgstr "Ne" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "" @@ -248,7 +248,7 @@ msgstr "" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "" @@ -376,7 +376,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "" @@ -408,7 +408,7 @@ msgstr "" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "" @@ -433,7 +433,7 @@ msgstr "" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 -msgid "Required for Build Orders" +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 +msgid "Required for Build Orders" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "" @@ -2775,7 +2784,7 @@ msgstr "" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/lv/messages.po b/src/frontend/src/locales/lv/messages.po index 52454078c1..b4523313dc 100644 --- a/src/frontend/src/locales/lv/messages.po +++ b/src/frontend/src/locales/lv/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: lv\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" @@ -93,7 +93,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "" @@ -144,7 +144,7 @@ msgstr "" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "" @@ -248,7 +248,7 @@ msgstr "" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "" @@ -376,7 +376,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "" @@ -408,7 +408,7 @@ msgstr "" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "" @@ -433,7 +433,7 @@ msgstr "" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 -msgid "Required for Build Orders" +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 +msgid "Required for Build Orders" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "" @@ -2775,7 +2784,7 @@ msgstr "" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index 237c684dc6..88968ecae2 100644 --- a/src/frontend/src/locales/nl/messages.po +++ b/src/frontend/src/locales/nl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: nl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "Acties" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Zoeken" @@ -144,7 +144,7 @@ msgstr "Nee" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Onderdeel" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Onderdelen" @@ -186,7 +186,7 @@ msgstr "Parameter" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parameters" @@ -248,7 +248,7 @@ msgstr "Onderdeel categorie" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Onderdeel categorieën" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Voorraad locatie types" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Voorraad geschiedenis" @@ -376,7 +376,7 @@ msgstr "Inkooporder" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Inkooporders" @@ -408,7 +408,7 @@ msgstr "Verkooporder" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Verkooporders" @@ -433,7 +433,7 @@ msgstr "Retourorder" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Retourorders" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Administrator" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Productieorders" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Lage voorraad" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Toon het aantal onderdelen die lage voorraad hebben" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Benodigd voor Build Orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Toon onderdelen die nodig zijn voor actieve bouw orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Verlopen voorraad items" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Toon het aantal voorraadartikelen dat verlopen is" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Verouderde voorraad items" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Toon het aantal voorraadartikelen die verouderd zijn" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "Actieve bouworders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "Laat het aantal bouw orders zien die momenteel actief zijn." -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Achterstallige Build orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "Laat het aantal bouw orders zien die achterstallig zijn" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Toegewezen bouworders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Het aantal bouw orders die aan u zijn toegewezen tonen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "Actieve verkooporders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "Toon het aantal actieve verkooporders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Achterstallige Verkooporders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "Toon het aantal achterstallig orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "Toegewezen verkooporders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "Toon het aantal aan u toegewezen verkooporders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "Verzendingen in behandeling" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "Toon het aantal lopende verzendingen van bestellingen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "Actieve inkooporders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "Toon het aantal inkooporders die momenteel actief zijn" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Achterstallige inkooporders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "Toon het aantal inkooporders die achterstallig zijn" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "Toegewezen inkoopbestellingen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "Toon het aantal inkooporders die aan u zijn toegewezen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "Actieve retour orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "Toon het aantal retour orders die momenteel actief zijn" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "Achterstallige retour orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "Het aantal retour orders dat achterstallig is weergeven" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "Toegewezen retour orders" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "Toon het aantal retour orders die aan u zijn toegewezen" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Aan de slag!" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Aan de slag met InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "Nieuws updates" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "Het laatste nieuws van InvenTree" @@ -2200,7 +2209,7 @@ msgstr "De gegevens zijn met succes geïmporteerd" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Sluiten" @@ -2396,13 +2405,13 @@ msgstr "Geen artikelen" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Beschikbaar" @@ -2775,7 +2784,7 @@ msgstr "Uitloggen" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "Verwijder zoekgroep" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Datum" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Verzending" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Inactief" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtueel" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Geen voorraad" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "In bestelling" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "In productie" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Beschrijving" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Serienummer" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "Volgende" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Onderdeel bewerken" @@ -3953,7 +3963,7 @@ msgstr "Verkoop eisen" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "Corrigeer de fouten in de geselecteerde onderdelen" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "Onderdelen bestellen" @@ -4541,19 +4551,23 @@ msgstr "Over het InvenTree project" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "Vervanging onderdeel" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "Stuk lijst BOM Item vervangingen bewerken" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "Vervanging toevoegen" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "Vervanging toegevoegd" @@ -4678,7 +4692,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "Selecteer projectcode voor deze bestelling" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "Geabonneerd" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "Abonneren op meldingen voor dit onderdeel" @@ -4777,11 +4791,11 @@ msgstr "Abonneren op meldingen voor dit onderdeel" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Bovenliggende onderdeel categorie" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "Abonneer je op meldingen voor deze categorie" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "Standaard locatie geselecteerd" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "Geselecteerde voorraadartikelen verwijderen" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Voorraad acties" @@ -7102,14 +7116,14 @@ msgstr "Het geassembleerde onderdeel heeft mogelijk geen Materiaalbon (BOM) gede #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "BOM niet gevalideerd" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Uitgegeven door" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Print bouw order" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Externe link" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Details onderdelen" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "Leveranciersdeel toevoegen" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Geen voorraad" @@ -7824,13 +7838,13 @@ msgstr "Categorie details" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Productie-opdracht toewijzingen" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Verkoopordertoewijzingen" @@ -7884,7 +7898,7 @@ msgstr "Trefwoorden" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Beschikbare voorraad" @@ -7912,49 +7926,53 @@ msgstr "Toegewezen aan verkooporders" msgid "Minimum Stock" msgstr "Minimale voorraad" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Vergrendeld" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Sjabloon onderdeel" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Samengesteld onderdeel" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "Onderdeel" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "Testbaar onderdeel" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Traceerbaar onderdeel" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "Aankoopbaar onderdeel" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "Verkoopbaar onderdeel" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "Verkoopbaar onderdeel" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "Verkoopbaar onderdeel" msgid "Creation Date" msgstr "Aangemaakt op" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Aangemaakt door" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "Standaard vervaldatum" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "Dagen" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Prijs bereik" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "Laatste serienummer" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "Selecteer onderdeel revisie" @@ -7995,16 +8013,16 @@ msgstr "Selecteer onderdeel revisie" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Varianten" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Toewijzingen" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Materiaallijst" @@ -8012,40 +8030,40 @@ msgstr "Materiaallijst" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Wordt gebruikt in" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Prijzen onderdeel" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Test sjablonen" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Gerelateerde onderdelen" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "Onderdeel is vergrendeld" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "Onderdeel parameters kunnen niet worden bewerkt, omdat het onderdeel is vergrendeld" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Vereist" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "Tekort" @@ -8057,37 +8075,37 @@ msgstr "Tekort" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Onderdeel toevoegen" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Onderdeel verwijderen" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "Verwijderen van dit onderdeel kan niet ongedaan worden gemaakt" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "Order" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "Voorraad bestelling" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "Zoek op serienummer" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Acties van onderdeel" @@ -8375,7 +8393,7 @@ msgstr "Totale prijs" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Onderdeel" @@ -9284,7 +9302,7 @@ msgstr "Dit voorraadartikel is leeg" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "Voorraad informatie" @@ -9747,7 +9765,7 @@ msgstr "Virtueel deel" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "Externe voorraad" @@ -9783,7 +9801,7 @@ msgstr "Bevat variant voorraad" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "Bouwen" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "Toon verbruikte items" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "Heeft prijzen" @@ -9930,7 +9948,7 @@ msgstr "Voeg een enkel BOM artikel toe" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "Importeren uit bestand" @@ -9954,7 +9972,7 @@ msgstr "Factuur van materialen kan niet worden bewerkt, omdat het onderdeel is v #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Assemblage" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "Toon actieve assemblage orders" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Volgbaar" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "Toon optionele regels" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "Testbaar" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "Toon sjablonen met keuzes" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "Heeft eenheden" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "Abonneer je op meldingen voor deze categorie" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Inclusief subcategorieën" @@ -11048,184 +11066,192 @@ msgstr "Toon ontvangen items" msgid "View Sales Order" msgstr "Bekijk verkooporder" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "Minimale voorraad" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Filter op actieve status van onderdeel" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "Filter op vergrendelde status van onderdeel" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Filteren op samenvoegen attribuut" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "BOM Valid" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "Filter op onderdelen met een geldige BOM" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Inclusief onderdelen in subcategorieën" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Filter op component kenmerk" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "Filter op testbare eigenschap" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Filteren op traceerbare kenmerk" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Filter op onderdelen die eenheden bevatten" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "Heeft IPN" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Filter op onderdelen met een intern deelnummer" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "Heeft voorraad" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Filter op onderdelen die voorraad hebben" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Filter op onderdelen met een lage voorraad" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "Aankoopbaar" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Filteren op onderdelen die aankoopbaar zijn" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "Verkoopbaar" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Filter op delen die verkoopbaar zijn" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "Aankoopbaar" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Filteren op onderdelen die aankoopbaar zijn" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "Verkoopbaar" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Filter op delen die verkoopbaar zijn" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Filter op virtuele onderdelen" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "Is een sjabloon" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "Filter op onderdelen die sjablonen zijn" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "Is een variant" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "Filter op onderdelen die sjablonen zijn" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "Is revisie" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "Filter op onderdelen die revisies zijn" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "Heeft revisies" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "Filter op onderdelen die revisies hebben" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "Filter op onderdelen met prijsinformatie" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "Is revisie" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "Filter op onderdelen die revisies zijn" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "Heeft revisies" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "Filter op onderdelen die revisies hebben" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "Filter op onderdelen met prijsinformatie" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "Filter op onderdelen die beschikbare voorraad hebben" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "Filter op delen waarop de gebruiker geabonneerd is" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "Importeren onderdelen" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "Categorie instellen" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "Categorie voor geselecteerde onderdelen instellen" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "Geselecteerde delen bestellen" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "Voeg onderdelen toe" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "Onderdeel maken" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "Maak een nieuw onderdeel maken" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "Importeer onderdelen van een bestand" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "Importeren van leverancier" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "Onderdelen van een leverancierspagina importeren" diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po index b3257e2ab6..81249a95ec 100644 --- a/src/frontend/src/locales/no/messages.po +++ b/src/frontend/src/locales/no/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: no\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "Handlinger" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Søk" @@ -144,7 +144,7 @@ msgstr "Nei" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Del" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Deler" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parametere" @@ -248,7 +248,7 @@ msgstr "Delkategori" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Delkategorier" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Lagerhistorikk" @@ -376,7 +376,7 @@ msgstr "Innkjøpsordre" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Innkjøpsordrer" @@ -408,7 +408,7 @@ msgstr "Salgsordre" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Salgsordrer" @@ -433,7 +433,7 @@ msgstr "Returordre" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Returordrer" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Produksjonsordrer" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Lav lagerbeholdning" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Nødvendig for produksjonsordre" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Forfalte Produksjonsordre" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Forfalte salgsordre" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Forfalte innkjøpsordre" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Komme i gang" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Komme i gang med InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Lukk" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Tilgjengelig" @@ -2775,7 +2784,7 @@ msgstr "Logg ut" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Dato" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Forsendelse" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtuell" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Ingen lagerbeholdning" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "I bestilling" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "Under produksjon" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Detaljer" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Serienummer" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Rediger del" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Overordnet del-kategori" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Lagerhandlinger" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Underordnede Produksjonsordrer" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "Legg til leverandørdel" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Produksjonsordre-tildelinger" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Salgsordretildelinger" @@ -7884,7 +7898,7 @@ msgstr "Nøkkelord" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Sammenstilt del" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Sporbar del" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "Opprettelsesdato" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Prisområde" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Varianter" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Tildelinger" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Stykkliste (BOM)" @@ -8012,40 +8030,40 @@ msgstr "Stykkliste (BOM)" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Brukt i" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Testmaler" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Relaterte Deler" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Delhandlinger" @@ -8375,7 +8393,7 @@ msgstr "Total pris" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Komponent" @@ -9284,7 +9302,7 @@ msgstr "Denne lagervaren er oppbrukt" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "Lagerinformasjon" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "Inkluderer variantbeholdning" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "Produseres" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "Vis forbruksartikler" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "Har prising" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Sammenstilling" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "Vis aktive sammenstillinger" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Sporbar" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "Vis maler med valg" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "Har enheter" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Inkluder underkategorier" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "Minimumsbeholdning" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Filtrer etter del aktiv-status" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Filtrer etter sammenstillingsattributt" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Inkluder deler i underkategorier" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Filtrer etter komponentattributt" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Filtrer etter sporbar attributt" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Filtrer etter deler som har enheter" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "Har IPN" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Filtrer etter deler som har internt delnummer" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "Har beholdning" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Filtrer etter deler som har lagerbeholdning" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Filtrer etter deler som har lav lagerbeholdning" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "Kjøpbar" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Filtrer etter deler som kan kjøpes" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "Salgbar" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Filtrer etter deler som kan selges" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "Kjøpbar" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Filtrer etter deler som kan kjøpes" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "Salgbar" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Filtrer etter deler som kan selges" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Filtrer etter deler som er virtuelle" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po index be4c84d3fe..68d3c8691c 100644 --- a/src/frontend/src/locales/pl/messages.po +++ b/src/frontend/src/locales/pl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Polish\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" @@ -93,7 +93,7 @@ msgstr "Akcje" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Szukaj" @@ -144,7 +144,7 @@ msgstr "Nie" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Komponent" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Komponenty" @@ -186,7 +186,7 @@ msgstr "Parametr" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "" @@ -248,7 +248,7 @@ msgstr "Kategoria części" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Kategorie części" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Typy lokalizacji magazynowych" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Historia magazynu" @@ -376,7 +376,7 @@ msgstr "Zlecenie zakupu" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Zlecenia zakupu" @@ -408,7 +408,7 @@ msgstr "Zlecenie sprzedaży" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Zlecenia Sprzedaży" @@ -433,7 +433,7 @@ msgstr "Zwrot zamówienia" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Zwroty zamówień" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Administracja" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Zlecenia wykonania" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Mała ilość w magazynie" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Pokaż liczbę części o niskim stanie magazynowym" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Wymagane do zleceń produkcyjnych" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Pokaż części wymagane do aktywnych zleceń produkcyjnych" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Pozycje magazynowe po terminie ważności" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Pokaż liczbę pozycji magazynowych po terminie ważności" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Zalegające pozycje magazynowe" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Pokaż liczbę zalegających pozycji magazynowych" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "Aktywne zlecenia produkcyjne" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "Pokaż liczbę aktualnie aktywnych zleceń produkcyjnych" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Opóźnione zlecenia produkcyjne" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "Pokaż liczbę opóźnionych zleceń produkcyjnych" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Przypisane zlecenia produkcyjne" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Pokaż liczbę zleceń produkcyjnych przypisanych do Ciebie" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "Aktywne zamówienia sprzedaży" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "Pokaż liczbę aktywnych zamówień sprzedaży" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Zaległe zlecenia sprzedaży" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "Pokaż liczbę zaległych zamówień sprzedaży" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "Przypisane zamówienia sprzedaży" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "Pokaż liczbę zamówień sprzedaży przypisanych do Ciebie" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "Oczekujące wysyłki" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "Pokaż liczbę oczekujących wysyłek zamówień sprzedaży" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "Aktywne zamówienia zakupu" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "Pokaż liczbę aktywnych zamówień zakupu" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Zaległe zlecenia zakupu" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "Pokaż ilość zaległych zamówień zakupu" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "Przypisane zamówienia zakupu" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "Pokaż ilość zamówień zakupu przypisanych do Ciebie" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "Aktywne zwroty" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "Pokaż liczbę aktywnych zwrotów" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "Zaległe zwroty" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "Pokaż liczbę zaległych zwrotów" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "Przypisane zwroty" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "Pokaż liczbę zwrotów przypisanych do Ciebie" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Pierwsze Kroki" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Pierwsze kroki z InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "Aktualności" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "Najnowsze wiadomości z InvenTree" @@ -2200,7 +2209,7 @@ msgstr "Dane zostały zaimportowane" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Zamknij" @@ -2396,13 +2405,13 @@ msgstr "Brak elementów" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Dostępne" @@ -2775,7 +2784,7 @@ msgstr "Wyloguj się" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Wysyłka" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Nieaktywny" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Wirtualny" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Brak w magazynie" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Numer seryjny" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Kategoria części nadrzędnej" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "Wybrano domyślną lokalizację" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po index b6875ee31e..6cd83bf829 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: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "Ações" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Buscar" @@ -144,7 +144,7 @@ msgstr "Não" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Peça" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Peças" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parâmetros" @@ -248,7 +248,7 @@ msgstr "Categoria da peça" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Categorias da Peça" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Tipo de Local de Estoque" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Histórico de Estoque" @@ -376,7 +376,7 @@ msgstr "Pedido de Compra" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Pedidos de compra" @@ -408,7 +408,7 @@ msgstr "Pedido de Venda" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Pedidos de vendas" @@ -433,7 +433,7 @@ msgstr "Pedido de Devolução" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Pedidos de Devolução" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Ordens de Produções" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Estoque Baixo" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Necessário para pedidos de produção" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Pedidos de Produção Vencidos" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Pedidos de Venda Vencidos" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Pedidos de Compra Pendentes" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Guia de Introdução" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Primeiros passos com InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2201,7 +2210,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "" @@ -2397,13 +2406,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Disponível" @@ -2776,7 +2785,7 @@ msgstr "Encerrar sessão" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2866,7 +2875,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3010,14 +3019,14 @@ msgstr "Data" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3150,50 +3159,50 @@ msgstr "Envios" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Inativo" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtual" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Sem Estoque" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "No Pedido" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "Em Produção" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Detalhes" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3237,6 +3246,7 @@ msgstr "Número de Série" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3860,8 +3870,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Editar Peça" @@ -3954,7 +3964,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4054,7 +4064,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4542,19 +4552,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4679,7 +4693,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4757,16 +4771,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4778,11 +4792,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Categoria parente da peça" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4820,8 +4834,8 @@ msgid "Default location selected" msgstr "Localização padrão selecionada" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5506,7 +5520,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Ações de Estoque" @@ -7103,14 +7117,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7216,7 +7230,7 @@ msgid "Issued By" msgstr "Emitido por" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7304,7 +7318,7 @@ msgid "Child Build Orders" msgstr "Pedido de Produção Filho" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7593,7 +7607,7 @@ msgstr "Link Externo" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Detalhes da Peça" @@ -7692,7 +7706,7 @@ msgid "Add Supplier Part" msgstr "Adicionar Fornecedor da Peça" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Sem Estoque" @@ -7825,13 +7839,13 @@ msgstr "Detalhes da Categoria" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Alocações de Pedido de Produção" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Alocações do Pedido de Vendas" @@ -7885,7 +7899,7 @@ msgstr "Palavras-chave" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Estoque Disponível" @@ -7913,49 +7927,53 @@ msgstr "Alocado para Pedidos de Venda" msgid "Minimum Stock" msgstr "Estoque Mínimo" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Peça Modelo" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Peça montada" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "Peça do componente" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Peça rastreável" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "Peça comprável" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "Peça vendível" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "Peça vendível" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7963,32 +7981,32 @@ msgstr "Peça vendível" msgid "Creation Date" msgstr "Data de Criação" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Criado por" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Intervalo de Preço" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7996,16 +8014,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Variantes" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Alocações" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Lista de Materiais" @@ -8013,40 +8031,40 @@ msgstr "Lista de Materiais" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Utilizado em" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Preço da Peça" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Modelos de Teste" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Peças Relacionadas" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Obrigatório" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8058,37 +8076,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Adicionar Peça" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Excluir Peça" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "A exclusão desta parte não pode ser revertida" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "Encomendar Estoque" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Ações da Peça" @@ -8376,7 +8394,7 @@ msgstr "Preço Total" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Componente" @@ -9285,7 +9303,7 @@ msgstr "Este item de estoque está esgotado" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "Informação do Estoque" @@ -9748,7 +9766,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "Estoque externo" @@ -9784,7 +9802,7 @@ msgstr "Inclui estoque variante" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "Produzindo" @@ -9862,7 +9880,7 @@ msgid "Show consumable items" msgstr "Mostrar itens consumíveis" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "Tem Preço" @@ -9931,7 +9949,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9955,7 +9973,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Montagem" @@ -9969,7 +9987,7 @@ msgid "Show active assemblies" msgstr "Mostrar montagens ativas" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Rastreável" @@ -10105,7 +10123,7 @@ msgid "Show optional lines" msgstr "Mostrar itens opcionais" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10647,7 +10665,7 @@ msgid "Show templates with choices" msgstr "Mostrar modelos com escolhas" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "Possui unidades" @@ -10960,7 +10978,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Incluir Subcategorias" @@ -11049,184 +11067,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "Stock mínimo" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Filtrar por estado ativo da peça" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Filtrar por atributo de montagem" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Incluir peças nas subcategorias" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Filtrar por atributo do componente" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Filtrar por atributo rastreável" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Filtrar por peças que têm unidades" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "Possui IPN" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Filtrar por peças que tenham um IPN" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "Possui estoque" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Mostrar peças que têm estoque" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Filtrar po peças que têm estoque baixo" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "Adquirível" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Filtrar por peças que são adquiríveis" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "Vendível" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Filtrar por peças que são vendíveis" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "Adquirível" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Filtrar por peças que são adquiríveis" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "Vendível" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Filtrar por peças que são vendíveis" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Filtrar por peças que são virtuais" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/pt_BR/messages.po b/src/frontend/src/locales/pt_BR/messages.po index aae27e29ce..5c6cfd8756 100644 --- a/src/frontend/src/locales/pt_BR/messages.po +++ b/src/frontend/src/locales/pt_BR/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "Ações" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Buscar" @@ -144,7 +144,7 @@ msgstr "Não" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Peça" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Peças" @@ -186,7 +186,7 @@ msgstr "Parâmetro" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parâmetros" @@ -248,7 +248,7 @@ msgstr "Categoria da Peça" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Categorias de Peça" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Categoria de Localização de Estoque" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Histórico de estoque" @@ -376,7 +376,7 @@ msgstr "Pedido de Compra" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Pedidos de compra" @@ -408,7 +408,7 @@ msgstr "Pedido de Venda" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Pedidos de vendas" @@ -433,7 +433,7 @@ msgstr "Pedido de Devolução" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Pedidos de Devolução" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Admin" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Ordens de Produções" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Estoque Baixo" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Mostrar o número de peças com o estoque baixo" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Necessário para pedidos de produção" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Mostrar peças necessárias para ordens de construção ativas" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Itens de estoque vencidos" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Mostrar itens de estoque que estão vencidos" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Pedido de produção atrasado" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Pedidos de Venda Vencidos" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Pedido de Compra Vencido" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Primeiros passos" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Primeiros passos com InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "Notícias" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "As últimas notícias de InvenTree" @@ -2200,7 +2209,7 @@ msgstr "Dados importados com sucesso" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Fechar" @@ -2396,13 +2405,13 @@ msgstr "Nenhum item" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Disponível" @@ -2775,7 +2784,7 @@ msgstr "Sair" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "Remover grupo de busca" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Data" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Remessa" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Inativo" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtual" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Sem Estoque" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "No pedido" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "Em Produção" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Detalhes" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Número de Série" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Editar Peça" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "Por favor, corrija os erros nas partes selecionadas" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "Pedir Peças" @@ -4541,19 +4551,23 @@ msgstr "Sobre o projeto InvenTree" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "Parte substituta" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "Adicionar substituto" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "Substituto adicionado" @@ -4678,7 +4692,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "Inscrito" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "Receber notificações desta parte" @@ -4777,11 +4791,11 @@ msgstr "Receber notificações desta parte" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Categoria de peça parental" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "Receber notificações desta categoria" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "Localização padrão selecionada" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Ações de Estoque" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Emitido por" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Pedido de Produção Filhos" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Link Externo" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Detalhes da Peça" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "Adicionar Peça do Fornecedor" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Sem Estoque" @@ -7824,13 +7838,13 @@ msgstr "Detalhes da categoria" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Alocações de Pedido de Produção" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Alocações do Pedido de Vendas" @@ -7884,7 +7898,7 @@ msgstr "Palavras-chave" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Estoque Disponível" @@ -7912,49 +7926,53 @@ msgstr "Alocado para Pedidos de Venda" msgid "Minimum Stock" msgstr "Estoque Mínimo" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Bloqueado" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Modelo de peça" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Peça Montada" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "Parte do componente" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "Parte Testável" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Peça Rastreável" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "Parte comprável" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "Parte vendível" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "Parte vendível" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "Parte vendível" msgid "Creation Date" msgstr "Criado em" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Criado por" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "Validade Padrão" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "dias" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Faixa de Preço" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "Último Número de Série" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "Selecionar Revisão de Parte" @@ -7995,16 +8013,16 @@ msgstr "Selecionar Revisão de Parte" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Variantes" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Alocações" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Lista de Materiais" @@ -8012,40 +8030,40 @@ msgstr "Lista de Materiais" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Usado em" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Preço de Peça" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Testar Modelos" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Peças Relacionadas" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "Os parâmetros da peça não podem ser editados, pois a peça está bloqueada" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Obrigatório" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Adicionar Parte" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Excluir Peça" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "Excluir esta peça não é reversível" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "Pedido" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "Pedir estoque" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Ações da Peça" @@ -8375,7 +8393,7 @@ msgstr "Preço Total" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Componente" @@ -9284,7 +9302,7 @@ msgstr "Este item de estoque foi esgotado" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "Informação do Estoque" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "Estoque externo" @@ -9783,7 +9801,7 @@ msgstr "Incluir estoque de variantes" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "Produzindo" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "Mostrar itens consumíveis" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "Tem Preço" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "A lista de materiais não pode ser editada, pois está bloqueada" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Montagem" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "Mostrar montagens ativas" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Rastreável" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "Mostrar linhas opcionais" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "Testável" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "Mostrar modelos com escolhas" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "Possui unidades" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Incluir Subcategorias" @@ -11048,184 +11066,192 @@ msgstr "Mostrar itens recebidos" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "Estoque mínimo" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Filtrar por peça em estado ativo" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "Filtrar por status de peça bloqueada" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Filtrar por atributo de montagem" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Incluir peças em subcategorias" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Filtrar por atributo do componente" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "Filtrar por atributo testável" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Filtrar por atributo rastreável" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Filtrar por peças que têm unidades" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "Tem IPN" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Filtrar por partes que tenham um número de peça interna" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "Tem estoque" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Filtrar por peças que têm estoque" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Filtrar por peças que tenham estoque baixo" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "Comprável" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Filtrar por peças que são compráveis" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "Vendível" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Filtrar por peças que são vendíveis" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "Comprável" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Filtrar por peças que são compráveis" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "Vendível" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Filtrar por peças que são vendíveis" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Filtrar por peças que são virtuais" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "É um modelo" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "Filtrar por partes que são modelos" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "É Revisão" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "Filtrar por partes que estão revisões" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "Possui revisão" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "Filtrar por partes que tenham revisões" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "Filtrar por peças que tenham informações de preços" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "É Revisão" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "Filtrar por partes que estão revisões" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "Possui revisão" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "Filtrar por partes que tenham revisões" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "Filtrar por peças que tenham informações de preços" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "Filtrar por peças que tenham estoque disponível" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "Filtrar por partes em que o usuário está inscrito" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "Selecionar Categoria" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/ro/messages.po b/src/frontend/src/locales/ro/messages.po index a09160db7f..c374cd08eb 100644 --- a/src/frontend/src/locales/ro/messages.po +++ b/src/frontend/src/locales/ro/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ro\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" @@ -93,7 +93,7 @@ msgstr "Acțiuni" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Caută" @@ -144,7 +144,7 @@ msgstr "Nu" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Piesă" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Piese" @@ -186,7 +186,7 @@ msgstr "Parametru" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parametri" @@ -248,7 +248,7 @@ msgstr "Categorie Piesă" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Categorii Piese" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Tipurile Locației Stocului" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Istoric Stoc" @@ -376,7 +376,7 @@ msgstr "Comandă de achiziție" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Comandă de achiziție" @@ -408,7 +408,7 @@ msgstr "Comandă de Vânzare" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Comenzi de Vânzare" @@ -433,7 +433,7 @@ msgstr "Returnează Comanda" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Returnează Comenzile" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Admin" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Comenzi de Producție" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Stoc scăzut" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Arată numărul de piese care sunt scăzute pe stoc" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Necesar pentru Comenzi de productie" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Arată capitolele necesare pentru comenzile active de productie" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Articole expirate în stoc" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Arată numărul de articole din stoc care au expirat" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Articole din stoc învechite" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Arată numărul de articole din stoc care sunt vechi" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "Comenzi de producrie active" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Comenzi de producție atribuite" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Arată numărul comenzilor de producție care vă sunt atribuite" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Disponibil" @@ -2775,7 +2784,7 @@ msgstr "" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Nici un stoc" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "În Producţie" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Emis de" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Stoc disponibil" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "Selectați versiunea componentei" @@ -7995,16 +8013,16 @@ msgstr "Selectați versiunea componentei" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "Este versiune" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "Filtrează după piesele care sunt versiuni" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "Are Versiuni" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "Filtrează după piesele care au versiuni" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "Este versiune" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "Filtrează după piesele care sunt versiuni" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "Are Versiuni" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "Filtrează după piesele care au versiuni" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "Filtrează după piesele care au stoc disponibil" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index 22851dba68..143f8ab11c 100644 --- a/src/frontend/src/locales/ru/messages.po +++ b/src/frontend/src/locales/ru/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ru\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Russian\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" @@ -93,7 +93,7 @@ msgstr "Действия" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Поиск" @@ -144,7 +144,7 @@ msgstr "Нет" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Деталь" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Детали" @@ -186,7 +186,7 @@ msgstr "Параметр" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Параметры" @@ -248,7 +248,7 @@ msgstr "Категория детали" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Категории деталей" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Типы места хранения" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "История склада" @@ -376,7 +376,7 @@ msgstr "Заказ на закупку" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Заказы на закупку" @@ -408,7 +408,7 @@ msgstr "Заказ на продажу" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Заказы на продажу" @@ -433,7 +433,7 @@ msgstr "Заказ на возврат" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Заказы на возврат" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Администрирование пользователей" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Заказы на сборку" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "Последние детали" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Низкий запас" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Количество деталей с низким запасом" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Требуется для заказов на сборку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Детали, необходимые для запущенных заказов на сборку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Просроченные запасы" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Количество просроченных запасов" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Залежавшиеся запасы" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Количество залежавшихся запасов" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "Активные заказы на сборку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "Количество активных заказов на сборку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Просроченные заказы на сборку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "Количество просроченных заказов на сборку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Назначенные заказы на сборку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Количество назначенных на вас заказов на сборку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "Активные сбытовые заказы" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "Количество активных сбытовых заказов" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Просроченные заказы на продажу" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "Количество просроченных заказов на продажу" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "Назначенные сбытовые заказы" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "Количество назначенных вам заказов на продажу" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "Ожидающие отгрузки" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "Показать количество необработанных отгрузок по заказам на продажу" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "Активные заказы на поставку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "Количество активных заказов на поставку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Просроченные заказы на закупку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "Количество просроченных заказов на поставку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "Назначенные заказы на поставку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "Количество назначенных на вас заказов на поставку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "Активные заказы на возврат" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "Количество активных заказов на возврат" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "Просроченные заказы на возврат" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "Количество просроченных заказов на возврат" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "Назначенные заказы на возврат" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "Количество назначенных на вас заказов на возврат" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Начать работу" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Начало работы с InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "Новости" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "Свежие новости от InvenTree" @@ -2200,7 +2209,7 @@ msgstr "Данные успешно импортированы" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Закрыть" @@ -2396,13 +2405,13 @@ msgstr "Нет элементов" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Доступно" @@ -2775,7 +2784,7 @@ msgstr "Выход" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "Удалить группу из поиска" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Дата" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Отгрузка" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Неактивный" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Виртуальная" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Нет склада" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "В заказе" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "В производстве" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Сведения" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Серийный номер" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "Далее" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Редактировать деталь" @@ -3953,7 +3963,7 @@ msgstr "Требования продаж" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "Исправьте ошибки в выбранных деталях" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "Закупить детали" @@ -4541,19 +4551,23 @@ msgstr "О проекте InvenTree" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "Детали для замены" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "Редактировать варианты замены позиции спецификации" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "Создать замену" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "Замена создана" @@ -4678,7 +4692,7 @@ msgstr "Внутренний артикул" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "Выберите код проекта для этой позиции" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "Получать уведомления" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "Подписаться на уведомления для этой детали" @@ -4777,11 +4791,11 @@ msgstr "Подписаться на уведомления для этой де #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Родительская категория" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "Подписаться на уведомления для этой категории" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "Выбрано местоположение по умолчанию" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "Удалить выбранные складские позиции" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Действия со складом" @@ -7102,14 +7116,14 @@ msgstr "У собираемой детали возможно не задана #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "Спецификация не утверждена" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Создал" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Дочерние заказы на сборку" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Внешняя ссылка" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Сведения о детали" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "Создать деталь поставщика" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Нет на складе" @@ -7824,13 +7838,13 @@ msgstr "Сведения о категории" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Резервирование в заказах на сборку" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Резервирование в заказах на продажу" @@ -7884,7 +7898,7 @@ msgstr "Ключевые слова" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Доступно" @@ -7912,49 +7926,53 @@ msgstr "Зарезервировано в заказах на продажу" msgid "Minimum Stock" msgstr "Минимальный запас" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Заблокировано" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Шаблон детали" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Сборная деталь" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "Компонент для сборки" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "Тестируемая деталь" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Отслеживаемая деталь" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "Можно закупать" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "Можно продавать" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "Можно продавать" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "Можно продавать" msgid "Creation Date" msgstr "Дата создания" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Создал" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "Срок годности по умолчанию" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "дней" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Ценовой диапазон" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "Последний серийный номер" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "Выберите ревизию детали" @@ -7995,16 +8013,16 @@ msgstr "Выберите ревизию детали" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Разновидности" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Резервирование" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Спецификация" @@ -8012,40 +8030,40 @@ msgstr "Спецификация" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Используется в" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Цены на деталь" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Шаблоны тестов" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Связанные детали" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "Деталь заблокирована" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "Параметры детали нельзя редактировать, поскольку деталь заблокирована" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Требуется" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "Дефицит" @@ -8057,37 +8075,37 @@ msgstr "Дефицит" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Создать деталь" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Удалить деталь" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "Удаление этой детали нельзя отменить" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "Закупить" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "Закупить на склад" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "Поиск по серийному номеру" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Действия с деталью" @@ -8375,7 +8393,7 @@ msgstr "Общая стоимость" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Компонент" @@ -9284,7 +9302,7 @@ msgstr "Этот складской элемент был израсходова #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "Информация о складе" @@ -9747,7 +9765,7 @@ msgstr "Виртуальная деталь" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "Сторонний склад" @@ -9783,7 +9801,7 @@ msgstr "Включает запас вариантов" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "Сборка" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "Показать элементы, которые являются расходниками" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "Есть цена" @@ -9930,7 +9948,7 @@ msgstr "Добавить одну позицию спецификации" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "Импорт из файла" @@ -9954,7 +9972,7 @@ msgstr "Невозможно отредактировать спецификац #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Сборная деталь" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "Показать активные сборки" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Отслеживаемая" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "Показать необязательные строки" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "Тестируемая" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "Показать шаблоны с вариантами" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "Имеет единицу измерения" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "Вы подписаны на получение уведомлений для этой категории" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Включая подкатегории" @@ -11048,184 +11066,192 @@ msgstr "Показать полученные элементы" msgid "View Sales Order" msgstr "Показать заказ на продажу" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "Минимальный запас" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Показать детали с активным статусом" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "Показать детали с заблокированным статусом" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Показать сборные детали" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "Спецификация действительна" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "Фильтр по деталям с действительной спецификацией" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Включить детали в подкатегориях" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Показать детали, которые могут быть компонентом для сборки" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "Показать тестируемые детали" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Фильтр по отслеживаемому атрибуту" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Фильтр по деталям, в которых задана единица измерения" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "Есть внутренний артикул" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Показать детали с заданным внутренним артикулом" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "Есть запас" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Фильтр по деталям, имеющим запас" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Показать детали с низким складским запасом" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "Можно закупать" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Показать детали, которые можно закупать" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "Можно продавать" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Показать детали, которые можно продавать" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "Можно закупать" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Показать детали, которые можно закупать" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "Можно продавать" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Показать детали, которые можно продавать" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Показать виртуальные детали" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "Шаблон" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "Показать шаблоны деталей" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "Разновидности" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "Показать детали, которые являются разновидностями" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "Является ревизией" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "Фильтр по деталям, которые являются ревизиями" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "Есть ревизии" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "Фильтр по деталям, которые имеют ревизии" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "Фильтр по деталям, которые имеют ценовую информацию" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "Является ревизией" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "Фильтр по деталям, которые являются ревизиями" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "Есть ревизии" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "Фильтр по деталям, которые имеют ревизии" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "Фильтр по деталям, которые имеют ценовую информацию" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "Фильтр по деталям, которые имеют доступный запас" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "Показать детали, на которые пользователь подписан" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "Импортировать детали" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "Выбрать категорию" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "Выбрать категорию для выбранных деталей" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "Закупить выбранные детали" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "Добавить детали" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "Создать деталь" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "Создать новую деталь" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "Иморт деталей из файла" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "Импорт от поставщика" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "Импортировать детали из плагина поставщика" diff --git a/src/frontend/src/locales/sk/messages.po b/src/frontend/src/locales/sk/messages.po index cafe222d5a..d2bc724827 100644 --- a/src/frontend/src/locales/sk/messages.po +++ b/src/frontend/src/locales/sk/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sk\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -93,7 +93,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "" @@ -144,7 +144,7 @@ msgstr "" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "" @@ -248,7 +248,7 @@ msgstr "" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "" @@ -376,7 +376,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "" @@ -408,7 +408,7 @@ msgstr "" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "" @@ -433,7 +433,7 @@ msgstr "" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 -msgid "Required for Build Orders" +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 +msgid "Required for Build Orders" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "" @@ -2775,7 +2784,7 @@ msgstr "" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po index 68cb1d5f28..9cf585b2c7 100644 --- a/src/frontend/src/locales/sl/messages.po +++ b/src/frontend/src/locales/sl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" @@ -93,7 +93,7 @@ msgstr "Dejanja" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Išči" @@ -144,7 +144,7 @@ msgstr "" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Del" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Deli" @@ -186,7 +186,7 @@ msgstr "Parameter" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parametri" @@ -248,7 +248,7 @@ msgstr "" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "" @@ -376,7 +376,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "" @@ -408,7 +408,7 @@ msgstr "" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "" @@ -433,7 +433,7 @@ msgstr "" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 -msgid "Required for Build Orders" +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 +msgid "Required for Build Orders" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "" @@ -2775,7 +2784,7 @@ msgstr "" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/sr/messages.po b/src/frontend/src/locales/sr/messages.po index 4dff01e88b..0b6cf42a46 100644 --- a/src/frontend/src/locales/sr/messages.po +++ b/src/frontend/src/locales/sr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" @@ -93,7 +93,7 @@ msgstr "Akcije" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Pretraga" @@ -144,7 +144,7 @@ msgstr "Ne" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Deo" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Delovi" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parametri" @@ -248,7 +248,7 @@ msgstr "Kategorija delova" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Kategorije delova" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Tipovi lokacija zaliha" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Istorija zaliha" @@ -376,7 +376,7 @@ msgstr "Narudžbenica" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Narudžbenice" @@ -408,7 +408,7 @@ msgstr "Nalog za prodaju" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Naloti za prodaju" @@ -433,7 +433,7 @@ msgstr "Nalog za povrat" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Nalozi za povrat" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Nalozi za izradu" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Niske zalihe" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Prikaži broj delova kojih ima malo u zalihama" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Potrebno za narudžbine" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Prikaži delove koji su potrebni za aktivne narudžbine" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Predmeti sa isteklim zalihama" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Prikaži broj predmeta u zalihama koji su istekli" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Predmeti sa ustajalim zalihama" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Prikaži broj predmeta u zalihama koji su ustajali" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "Aktivne narudžbine" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "Prikaži broj narudžbina koje su trenutno aktivne" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Istekle narudžbine" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "Prikaži broj narudžbina koje su istekle" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Dodeljene narudžbine" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Prikaži broj narudžbina koje su vama dodeljene" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "Aktivni nalozi za prodaju" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "Prikaži broj trenutno aktivnih naloga za prodaju" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Istekli nalozi za prodaju" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "Prikaži broj naloga za prodaju koji su istekli" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "Dodeljeni nalozi za prodaju" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "Prikaži broj naloga za prodaju koji su vama dodeljeni" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "Aktivne narudžbenice" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "Prikaži broj aktivnih narudžbenica" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Istekle narudžbenice" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "Prikaži broj isteklih narudžbenica" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "Dodeljene narudžbenice" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "Prikaži broj dodeljenih narudžbenica" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "Aktivni nalozi za povrat" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "Prikaži broj aktivnih naloga za povrat" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "Istekli nalozi za povrat" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "Prikaži broj isteklih naloga za povrat" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "Dodeljeni nalozi za povrat" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "Prikaži broj naloga za povrat koji su dodeljeni vama" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Početak" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Početak sa InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "Novosti" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "Najnovije vesti sa InvenTree" @@ -2200,7 +2209,7 @@ msgstr "Podaci su učitani uspešno" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Zatvori" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Dostupno" @@ -2775,7 +2784,7 @@ msgstr "Odjavljivanje" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Datum" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Pošiljka" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Neaktivno" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtualan" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Nema zalihe" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "Na nalogu" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "U produkciji" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Detalji" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Serijski broj" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Izmeni deo" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "Molimo ispravite greške u izabranim delovima" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "Naruči delove" @@ -4541,19 +4551,23 @@ msgstr "O InvenTree Projektu" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "Identifikacioni broj dela" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "Pretplaćeni" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "Pretplati se za obaveštenja o ovom delu" @@ -4777,11 +4791,11 @@ msgstr "Pretplati se za obaveštenja o ovom delu" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Kategorija sa delovima veće kategorije" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "Pretplati se za obaveštenja za ovu kategoriju" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "Podrazumevana lokacija izabrana" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Akcije zaliha" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Izdat od strane" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Pod-nalozi za izradu" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Spoljni link" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Detalji dela" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "Dodaj deo dobavljača" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Nema zaliha" @@ -7824,13 +7838,13 @@ msgstr "Detalji kategorije" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Dodela naloga za izradu" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Dodela prodajnih naloga" @@ -7884,7 +7898,7 @@ msgstr "Ključne reči" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Dostupne zalihe" @@ -7912,49 +7926,53 @@ msgstr "Dodeljeno prodajnim nalozima" msgid "Minimum Stock" msgstr "Minimum zaliha" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Zaključano" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Šablonski de" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Sastavljeni deo" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "Komponenta" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "Deo može da se testira" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Deo može da se prati" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "Deo može da se kupi" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "Deo može da se proda" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "Deo može da se proda" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "Deo može da se proda" msgid "Creation Date" msgstr "Datum kreiranja" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Kreirano od strane" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Raspon cena" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "Najnoviji serijski broj" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "Izaberite reviziju dela" @@ -7995,16 +8013,16 @@ msgstr "Izaberite reviziju dela" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Varijante" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Alokacije" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Spisak materijala" @@ -8012,40 +8030,40 @@ msgstr "Spisak materijala" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Korišćeno u" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Cena dela" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Test šabloni" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Povezani delovi" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "Deo je zaključan" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "Parametri dela ne mogu da se izmene, deo je zaključan" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Neophodno" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Dodaj deo" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Obriši deo" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "Brisanje ovog dela se ne može poništiti" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "Nalog" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "Naruči zalihe" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Akcije dela" @@ -8375,7 +8393,7 @@ msgstr "Ukupna cena" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Komponenta" @@ -9284,7 +9302,7 @@ msgstr "Ova stavka je potrošena" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "Informacije o zalihama" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "Spoljne zalihe" @@ -9783,7 +9801,7 @@ msgstr "Uključuje zalihe varijanti" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "Izgradnja" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "Prikaži potrošne stavke" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "Ima cenu" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "Spisak materijala ne može da se menja, deo je zaključan" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Sklop" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "Prikaži aktivne sklopove" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Može da se prati" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "Prikaži opcione stavke" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "Moguće testirate" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "Prikaži šablone sa izborima" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "Ima merne jedinice" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "Pretplaćen si na obaveštenja za ovu kategoriju" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Uključi podkategorije" @@ -11048,184 +11066,192 @@ msgstr "Prikaži primljene stavke" msgid "View Sales Order" msgstr "Prikaži narudžbenicu" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "Minimalne zalihe" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Filtriraj po statusu aktivnog dela" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "Filtriraj po statusu zaključavanja dela" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Filtriraj po atributu sklopa" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Uključi delove u podkategorije" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Filtriraj po atributu komponente" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "Filtriraj po atributu koji može da se testira" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Filtriraj po atributu za praćenje" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Filtriraj delove koji imaju merne jedinice" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "Ima interni broj dela" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Filtriraj delove koji imaju interni broj dela" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "Ima zalihe" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Filtriraj delove koji imaju zalihe" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Filtriraj delove koji imaju niske zalihe" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "Može da se kupi" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Filtriraj delove koji mogu da se kupe" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "Može da se proda" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Filtriraj delove koji mogu da se prodaju" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "Može da se kupi" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Filtriraj delove koji mogu da se kupe" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "Može da se proda" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Filtriraj delove koji mogu da se prodaju" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Filtriraj delove koji su virtualni" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "Je šablon" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "Filtriraj delove koji su šabloni" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "Je revizija" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "Filtriraj delove koji su revizije" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "Ima revizije" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "Filtriraj delove koji imaju revizije" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "Filtriraj delove koji imaju informaciju o ceni" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "Je revizija" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "Filtriraj delove koji su revizije" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "Ima revizije" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "Filtriraj delove koji imaju revizije" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "Filtriraj delove koji imaju informaciju o ceni" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "Filtriraj delove koji imaju dostupne zalihe" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "Filtriraj delove na koje je korisnik pretplaćen" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "Naruči izabrane delove" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index 50d53f59ae..0432cf35d9 100644 --- a/src/frontend/src/locales/sv/messages.po +++ b/src/frontend/src/locales/sv/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sv\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "Åtgärder" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Sök" @@ -144,7 +144,7 @@ msgstr "Nej" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Artkel" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Artiklar" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parametrar" @@ -248,7 +248,7 @@ msgstr "Artikel Kategori" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Artikelkategorier" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Lagerplatstyper" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Lagerhistorik" @@ -376,7 +376,7 @@ msgstr "Inköpsorder" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Inköpsorder" @@ -408,7 +408,7 @@ msgstr "Försäljningsorder" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Försäljningsorder" @@ -433,7 +433,7 @@ msgstr "Returorder" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Returorder" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Admin" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Byggordrar" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Få i lager" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Krävs för byggorder" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Försenade byggorder" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Försenade försäljningsorder" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Förfallna inköpsorder" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Kom igång" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Komma igång med InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "Data har importerats framgångsrikt" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Stäng" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Tillgänglig" @@ -2775,7 +2784,7 @@ msgstr "Logga ut" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Datum" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Frakt" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Inaktiv" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtuell" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Inget på lager" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "På order" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "Under produktion" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Detaljer" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Serienummer" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "Nästa" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Redigera artikel" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "IAN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Överordnad kategori" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Lager åtgärder" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Utfärdad av" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Underordnad tillverknings order" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Extern länk" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Artikel Detaljer" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Inget på lager" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Tillverknings orderallokeringar" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Försäljningsorder allokeringar" @@ -7884,7 +7898,7 @@ msgstr "Nyckelord" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Tillgängligt lager" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Låst" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Mall artikel" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Sammansatt artikel" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "Komponent artikel" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "Testbar artikel" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Spårbar artikel" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "Köpartikel" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "Försäljningsbar artikel" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "Försäljningsbar artikel" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "Försäljningsbar artikel" msgid "Creation Date" msgstr "Skapad Datum" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Skapad av" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "dagar" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Prisintervall" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "Välj artikel revision" @@ -7995,16 +8013,16 @@ msgstr "Välj artikel revision" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Varianter" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Allokeringar" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Stycklista" @@ -8012,40 +8030,40 @@ msgstr "Stycklista" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Används i" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Prissättning för artikel" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Testmall" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Relaterade artiklar" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Lägg till artikel" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Ta bort artikel" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "Borttagning av denna artikel kan inte återställas" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Artikel åtgärder" @@ -8375,7 +8393,7 @@ msgstr "Totalpris" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Komponent" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "Virtuell del" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "Under tillverkning" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "Importera från fil" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Montering" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Spårbart objekt" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "Testbar" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "Har enheter" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Inkludera underkategorier" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Filtrera på aktiv artiklestatus" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Filtrera efter monteringsattribut" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Inkludera artiklar från underkategorier" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Filtrera efter komponentattribut" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Filtrera på spårbart attribut" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Filtrera efter artiklar som har enheter" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "Har IAN" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Filtrera efter artiklar som har ett internt artikelnummer" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "I lager" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Filtrera efter artiklar som har enheter" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Filtrera på ariklar som har lågt saldo" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "Kan köpas" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Filtrera på artiklar som kan köpas" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "Försäljningsbar" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Filtrera på artiklar som kan säljas" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "Kan köpas" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Filtrera på artiklar som kan köpas" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "Försäljningsbar" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Filtrera på artiklar som kan säljas" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Filtrera efter artiklar som är virtuella" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "Är mall" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "Är variant" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "Importera delar" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "Lägg till delar" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "Skapa del" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "Skapa en ny del" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po index 2eafa38337..84490cefe7 100644 --- a/src/frontend/src/locales/th/messages.po +++ b/src/frontend/src/locales/th/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: th\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Thai\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -93,7 +93,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "" @@ -144,7 +144,7 @@ msgstr "" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "" @@ -248,7 +248,7 @@ msgstr "" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "" @@ -376,7 +376,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "" @@ -408,7 +408,7 @@ msgstr "" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "" @@ -433,7 +433,7 @@ msgstr "" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 -msgid "Required for Build Orders" +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 +msgid "Required for Build Orders" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "" @@ -2775,7 +2784,7 @@ msgstr "" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index 9b81da546b..f988c34d23 100644 --- a/src/frontend/src/locales/tr/messages.po +++ b/src/frontend/src/locales/tr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: tr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -93,7 +93,7 @@ msgstr "Eylemler" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Ara" @@ -144,7 +144,7 @@ msgstr "Hayır" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Parça" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Parçalar" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Parametreler" @@ -248,7 +248,7 @@ msgstr "Parça Kategorisi" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Parça Kategorileri" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Stok Konum Türleri" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Stok Geçmişi" @@ -376,7 +376,7 @@ msgstr "Satın Alma Siparişi" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Satın Alma Siparişleri" @@ -408,7 +408,7 @@ msgstr "Satış Siparişi" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Satış Siparişleri" @@ -433,7 +433,7 @@ msgstr "İade Emri" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "İade Siparişleri" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Yönetici" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Üretim Emirleri" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Düşük Stok" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Stokta düşük olan parça sayısını göster" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Üretim Emirleri için Gerekenler" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Aktif üretim emirleri için gereken parçaları göster" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Süresi Dolan Stok Kalemleri" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Süresi dolan stok kalemlerinin sayısını göster" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Eskiyen Stok Kalemleri" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Eskiyen stok kalemlerinin sayısını göster" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "Aktif Üretim Emirleri" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "Şu an aktif olan üretim emirlerinin sayısını göster" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Geciken Üretim Emirleri" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "Geciken üretim emirlerinin sayısını göster" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Atanmış Üretim Emirleri" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Size atanan üretim emirlerinin sayısını göster" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "Aktif Satış Siparişleri" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "Şu an aktif olan satış siparişlerinin sayısını göster" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Geciken Satış Siparişleri" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "Geciken satış siparişlerinin sayısını göster" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "Atanmış Satış Siparişleri" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "Size atanmış satış siparişlerinin sayısını göster" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "Bekleyen Gönderiler" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "Bekleyen satış siparişi gönderimlerinin sayısını göster" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "Aktif Satın Alma Siparişleri" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "Şu anda aktif olan satın alma siparişlerinin sayısını göster" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Geciken Satın Alma Siparişleri" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "Geciken satın alma siparişlerinin sayısını göster" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "Atanmış Satın Alma Siparişleri" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "Size atanmış satın alma siparişlerinin sayısını göster" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "Aktif İade Siparişleri" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "Şu an aktif olan iade siparişlerinin sayısını göster" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "Gecikmiş iade siparişleri" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "Gecikmiş iade siparişlerinin sayısını göster" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "Atanmış İade Siparişleri" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "Size atanan gecikmiş iade siparişi sayısını göster" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Başlarken" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "InvenTree ile başlarken" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "Güncelleme Haberleri" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "InvenTree'den en son haberler" @@ -2200,7 +2209,7 @@ msgstr "Veri başarıyla içe aktarıldı" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Kapat" @@ -2396,13 +2405,13 @@ msgstr "Öğe yok" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Mevcut" @@ -2775,7 +2784,7 @@ msgstr "Çıkış" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "Arama grubunu kaldır" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Tarih" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Gönderi" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Pasif" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Sanal" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Stok yok" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "Siparişte" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "Üretimde" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Ayrıntılar" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Seri Numarası" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "Sonraki" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Parçayı Düzenle" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "DPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "Takip ediliyor" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Üst parça kategorisi" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "Varsayılan konum seçildi" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Stok Eylemleri" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Düzenleyen" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Alt Üretim Emirleri" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Harici Bağlantı" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Parça Ayrıntıları" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "Tedarikçi Parçası Ekle" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Stok Yok" @@ -7824,13 +7838,13 @@ msgstr "Kategori Ayrıntıları" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Üretim Emri Tahsisatları" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Satış Siparişi Ayrımaları" @@ -7884,7 +7898,7 @@ msgstr "Anahtar Sözcükler" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Mevcut Stok" @@ -7912,49 +7926,53 @@ msgstr "Satış Siparişlerine Tahsis Edildi" msgid "Minimum Stock" msgstr "Minimum Stok" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Kilitli" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Şablon Parça" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Birleştirilmiş Parça" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "Bileşen Parça" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "Test Edilebilir Parça" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "İzlenebilir Parça" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "Satın Alınabilir Parça" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "Satılabilir Parça" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "Satılabilir Parça" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "Satılabilir Parça" msgid "Creation Date" msgstr "Oluşturma Tarihi" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Oluşturan" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "Varsayılan Son Kullanma Tarihi" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "günler" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Fiyat Aralığı" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "Son Seri Numarası" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "Parça Revizyonu Seç" @@ -7995,16 +8013,16 @@ msgstr "Parça Revizyonu Seç" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Varyantlar" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Ayırmalar" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Ürün Ağacı" @@ -8012,40 +8030,40 @@ msgstr "Ürün Ağacı" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Şunda Kullanıldı" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Parça Fiyatlandırma" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Test Şablonları" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "İlgili Parçalar" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "Parça Kilitli" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "Parça kilitli olduğundan bu parçanın parametreleri düzenlenemez" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Gerekli" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Parça Ekle" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Parçayı Sil" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "Bu parçanın silinmesi geri alınamaz" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "Emir" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "Stok Sipariş Et" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "Seri numarasına göre ara" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Parça Eylemleri" @@ -8375,7 +8393,7 @@ msgstr "Toplam Fiyat" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Bileşen" @@ -9284,7 +9302,7 @@ msgstr "Bu stok kalemi tükendi" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "Stok Bilgisi" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "Harici stok" @@ -9783,7 +9801,7 @@ msgstr "Varyant stok içerir" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "Üretiliyor" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "Tüketilebilir ögeleri göster" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "Fiyatlandırılmış" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "Parça kilitli olduğundan ürün ağacı düzenlenemez" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Montaj" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "Aktif montajları göster" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Takip Edilebilir" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "İsteğe bağlı satırları göster" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "Test Edilebilir" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "Seçenekli şablonları göster" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "Birimi Var" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Alt Kategorileri Dahil Et" @@ -11048,184 +11066,192 @@ msgstr "Teslim alınan kalemleri göster" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "Minimum stok" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Parçanın aktiflik durumuna göre filtrele" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "Parça kilit durumuna göre süz" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Montaj niteliğine göre filtrele" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Alt kategorilerdeki parçaları dahil et" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Bileşen niteliğine göre filtrele" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "Test edilebilir özelliğe göre süz" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Takip edilebilirliğine göre filtrele" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Birimi olan parçaları filtrele" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "DPN'si Olanlar" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Dahili parça numarası bulunan parçaları filtrele" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "Stoğu Var" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Stoğu olan parçaları filtrele" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Düşük stoğu olan parçaları filtrele" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "Satın Alınabilir" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Satın alınabilir parçaları filtrele" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "Satılabilir" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Satılabilir parçaları filtrele" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "Satın Alınabilir" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Satın alınabilir parçaları filtrele" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "Satılabilir" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Satılabilir parçaları filtrele" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Sanal parçaları filtrele" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "Şablon Olanlar" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "Şablon olan parçalara göre süz" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "Revizyon Olanlar" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "Revizyon olan parçalara göre süz" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "Revizyonu Olanlar" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "Revizyonu olan parçalara göre süz" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "Fiyatlandırma bilgisi olan parçalara göre süz" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "Revizyon Olanlar" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "Revizyon olan parçalara göre süz" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "Revizyonu Olanlar" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "Revizyonu olan parçalara göre süz" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "Fiyatlandırma bilgisi olan parçalara göre süz" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "Stokta olan parçalara göre süz" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "Kullanıcının takip ettiği parçalara göre süz" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/uk/messages.po b/src/frontend/src/locales/uk/messages.po index 4cfb20a29e..ba0424c359 100644 --- a/src/frontend/src/locales/uk/messages.po +++ b/src/frontend/src/locales/uk/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: uk\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" @@ -93,7 +93,7 @@ msgstr "Дії" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Пошук" @@ -144,7 +144,7 @@ msgstr "Ні" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Частина" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Частини" @@ -186,7 +186,7 @@ msgstr "Параметр" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Параметри" @@ -248,7 +248,7 @@ msgstr "Категорія" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Категорії" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "" @@ -376,7 +376,7 @@ msgstr "Замовлення на купівлю" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Закупівлі" @@ -408,7 +408,7 @@ msgstr "Замовлення на купівлю" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "" @@ -433,7 +433,7 @@ msgstr "" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Адмін" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Замовлення на збірку" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Низький залишок" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "Показати кількість виробів із низькими залишками" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Потрібно для замовлень збірки" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "Показати частини, які необхідні для активних замовлень збірки" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "Прострочені складські позиції" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "Показати кількість складських позицій з простроченим терміном" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "Застарілі складські позиції" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "Показати кількість складських позицій з простроченим терміном" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "Активні запити на збірку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "Показати кількість Замовлень на збірку, які активні на цей час" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Прострочені Замовлення на збірку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "Показати кількість Замовлень на збірку, які прострочені" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "Призначені Замовлення на збірку" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "Показати кількість Замовлень на збірку, які призначені для Вас" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "Показати кількість дописів про прострочені" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Починаємо" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "Останні новини від InvenTree" @@ -2200,7 +2209,7 @@ msgstr "Дані успішно імпортовано" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Закрити" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Доступно" @@ -2775,7 +2784,7 @@ msgstr "Вихід" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Дата" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Неактивний" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Немає в наявності" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Серійний номер" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "Ви підписані" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Дії над запасами" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Дочірні Замовлення на збірку" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Зовнішнє посилання" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "" @@ -7824,13 +7838,13 @@ msgstr "" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "" @@ -7884,7 +7898,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Доступний залишок" @@ -7912,49 +7926,53 @@ msgstr "" msgid "Minimum Stock" msgstr "Мінімальний запас" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Відстежуваний елемент" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "" msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "" @@ -7995,16 +8013,16 @@ msgstr "" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "" @@ -8012,40 +8030,40 @@ msgstr "" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Використано у" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Ціна елементу" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Необхідний" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Видалити деталь" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "Видалення цього елементу не може бути скасовано" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "Замовлення" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "" @@ -8375,7 +8393,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Компонент" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "" @@ -9783,7 +9801,7 @@ msgstr "" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "Біл матеріалів не можна редагувати, том #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Збірка" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Відстежуваний" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Включити підкатегорії" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Фільтрувати за атрибутом \"Компонент\"" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Фільтр по атрибуту, який відстежується" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "Це шаблон" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po index fc7bc43351..da6cdbf846 100644 --- a/src/frontend/src/locales/vi/messages.po +++ b/src/frontend/src/locales/vi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: vi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -93,7 +93,7 @@ msgstr "Chức năng" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "Tìm kiếm" @@ -144,7 +144,7 @@ msgstr "Không" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "Phụ kiện" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "Phụ tùng" @@ -186,7 +186,7 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "Thông số" @@ -248,7 +248,7 @@ msgstr "Danh mục phụ kiện" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "Danh mục phụ kiện" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "Phân loại vị trí kho hàng" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "Lịch sử kho hàng" @@ -376,7 +376,7 @@ msgstr "Đơn đặt mua" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "Đơn hàng mua" @@ -408,7 +408,7 @@ msgstr "Đơn đặt bán" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "Đơn hàng bán" @@ -433,7 +433,7 @@ msgstr "Đơn hàng trả lại" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "Đơn hàng trả lại" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "Quản trị" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "Đơn đặt bản dựng" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "Còn ít hàng" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "Yêu cầu cho đơn đặt bản dựng" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "Đơn đặt bản dựng đang quá hạn" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "Đơn đặt quá hạn" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "Đơn mua quá hạn" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "Bắt đầu" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "Bắt đầu với InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "" @@ -2200,7 +2209,7 @@ msgstr "Dữ liệu đã được nhập thành công" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "Đóng" @@ -2396,13 +2405,13 @@ msgstr "" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "Có sẵn" @@ -2775,7 +2784,7 @@ msgstr "Đăng xuất" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "Ngày" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "Lô hàng" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "Không hoạt động" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Ảo" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "Hết hàng" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "On Order" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "Đang sản xuất" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "Chi tiết" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "Số sê-ri" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "Sửa phụ kiện" @@ -3953,7 +3963,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "" @@ -4541,19 +4551,23 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "" @@ -4678,7 +4692,7 @@ msgstr "IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "" @@ -4777,11 +4791,11 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "Danh mục phụ kiện cha" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "Vị trí mặc định đã chọn" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "Thao tác kho" @@ -7102,14 +7116,14 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "Cấp bởi" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "Đơn đặt bản dựng con" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "Liên kết Ngoài" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "Chi tiết" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "Thêm sản phẩm nhà cung cấp" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "Hết hàng" @@ -7824,13 +7838,13 @@ msgstr "Chi tiết" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "Phân bổ đơn hàng bản dựng" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "Phân bổ đơn hàng bán" @@ -7884,7 +7898,7 @@ msgstr "Từ khóa" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "Số hàng tồn" @@ -7912,49 +7926,53 @@ msgstr "Đã phân bổ đơn hàng" msgid "Minimum Stock" msgstr "Kho tối thiểu" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "Khóa" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "Nguyên liệu mẫu" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "Đã lắp ráp" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "Thành phần" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "Có thể kiểm" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "Có thể theo dõi" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "Có thể đặt" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "Có thể bán" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "Có thể bán" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "Có thể bán" msgid "Creation Date" msgstr "Ngày tạo" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "Tạo bởi" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "Khoảng giá" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "Chọn lịch sử nguyên liệu" @@ -7995,16 +8013,16 @@ msgstr "Chọn lịch sử nguyên liệu" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "Biến thể" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "Phân bổ" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "Hóa đơn nguyên vật liệu" @@ -8012,40 +8030,40 @@ msgstr "Hóa đơn nguyên vật liệu" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "Sử dụng trong" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "Giá" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "Mẫu thử nghiệm" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "Phụ kiện liên quan" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "Nguyên liệu bị khoá" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "Bắt buộc" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "" @@ -8057,37 +8075,37 @@ msgstr "" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "Thêm nguyên liệu" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "Xoá nguyên liệu" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "Không thể khôi phục việc xóa nguyên liệu này" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "Thao tác" @@ -8375,7 +8393,7 @@ msgstr "Tổng tiền" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "Thành phần" @@ -9284,7 +9302,7 @@ msgstr "" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "Thông tin kho" @@ -9747,7 +9765,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "Kho ngoài" @@ -9783,7 +9801,7 @@ msgstr "Bao gồm kho biến thể" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "Đang dựng" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "Hiện items tiêu hao" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "Có định giá" @@ -9930,7 +9948,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "" @@ -9954,7 +9972,7 @@ msgstr "Không thể sửa BOM, do nguyên liệu bị khoá" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "Lắp ráp" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "Hiện dây chuyền đang hoạt động" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Có thể theo dõi" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "Có đơn vị" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "Bao gồm danh mục con" @@ -11048,184 +11066,192 @@ msgstr "" msgid "View Sales Order" msgstr "" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "Kho tối thiểu" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "Lọc theo trạng thái mở phụ kiện" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "Lọc theo thuộc tính lắp ráp" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "Bao gồm phụ kiên trong danh mục con" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "Lọc theo thuộc tính thành phần" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "Lọc theo thuộc tính có thể theo dõi" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "Lọc theo phụ kiện có chứa đơn vị" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "Có IPN" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "Lọc theo sản phẩm có số sản phẩm nội bộ" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "Có kho" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "Lọc theo sản phẩm có trong kho" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "Lọc theo sản phẩm có ít hàng" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "Có thể mua" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "Lọc theo sản phẩm có thể mua" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "Có thể bán" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "Lọc theo sản phẩm có thể bán" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "Có thể mua" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "Lọc theo sản phẩm có thể mua" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "Có thể bán" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "Lọc theo sản phẩm có thể bán" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "Lọc theo sản phẩm ảo" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "" diff --git a/src/frontend/src/locales/zh_Hans/messages.po b/src/frontend/src/locales/zh_Hans/messages.po index e743391f38..66909f6ba1 100644 --- a/src/frontend/src/locales/zh_Hans/messages.po +++ b/src/frontend/src/locales/zh_Hans/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-11 01:55\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -93,7 +93,7 @@ msgstr "操作" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "搜索" @@ -144,7 +144,7 @@ msgstr "否" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "零件" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "零件" @@ -186,7 +186,7 @@ msgstr "参数" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "参数" @@ -248,7 +248,7 @@ msgstr "零件类别" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "零件类别" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "库存地点类型" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "库存历史记录" @@ -376,7 +376,7 @@ msgstr "采购订单" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "采购订单" @@ -408,7 +408,7 @@ msgstr "销售订单" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "销售订单" @@ -433,7 +433,7 @@ msgstr "退货订单" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "退货订单" @@ -596,7 +596,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "管理员" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "生产订单" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "低库存" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "显示低库存的零件数量" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "生产订单所需的" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "显示当前生产订单所需的零件" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "已过期库存项" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "显示已过期的库存项" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "过期库存项" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "显示过期库存项" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "激活的生产订单" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "显示当前激活的生产订单数量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "逾期的生产订单" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "显示逾期的生产订单数量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "已分配的生产订单" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "显示分配给您的生产订单数量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "活动的销售订单" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "显示当前活动的销售订单数量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "逾期的销售订单" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "显示逾期的销售订单数量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "已分配的销售订单" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "显示分配给您的销售订单数量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "待处理货件" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "显示待处理销售订单的发货数量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "活跃的采购订单" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "显示当前活跃的采购订单数量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "逾期的采购订单" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "显示逾期的采购订单数量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "已分配的采购订单" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "显示分配给您的采购订单数量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "活跃的退货订单" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "显示当前活跃的退货订单数量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "逾期退货订单" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "显示逾期的退货订单数量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "已分配的退货订单" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "显示分配给您的退货订单数量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "快速上手" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "开始使用 InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "最新消息" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "来自 InvenTree 的最新消息" @@ -2200,7 +2209,7 @@ msgstr "数据已成功导入" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "关闭" @@ -2396,13 +2405,13 @@ msgstr "没有项目" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "可用的" @@ -2775,7 +2784,7 @@ msgstr "登出" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "移除搜索组" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "日期" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "配送" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "未激活" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "虚拟" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "无库存" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "订购中" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "生产中" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "详情" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "序列号" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "下一个" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "编辑零件" @@ -3953,7 +3963,7 @@ msgstr "销售需求" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "请修正所选零件中的错误" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "订购零件" @@ -4541,19 +4551,23 @@ msgstr "关于InvenTree项目" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "替代零件" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "编辑物料清单替代项" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "添加替代项" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "替代项已添加" @@ -4678,7 +4692,7 @@ msgstr "内部零件编码 IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "请为此行项目选择项目编码" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "已订阅" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "订阅此零件的通知" @@ -4777,11 +4791,11 @@ msgstr "订阅此零件的通知" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "上级零件类别" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "订阅此类别的通知" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "已选择默认位置" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "删除选中的库存物料" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "库存操作" @@ -7102,14 +7116,14 @@ msgstr "该装配件可能未定义物料清单(BOM),或BOM为空。" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "物料清单未验证" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "发布人" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "子生产订单" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "外部链接" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "零件详情" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "添加供应商零件" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "无库存" @@ -7824,13 +7838,13 @@ msgstr "类别详情" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "分配生产订单" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "分配销售订单" @@ -7884,7 +7898,7 @@ msgstr "关键词" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "可用库存" @@ -7912,49 +7926,53 @@ msgstr "分配销售订单" msgid "Minimum Stock" msgstr "最低库存" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "已锁定" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "模板零件" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "组装零件" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "组件零件" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "可测试零件" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "可追溯零件" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "可购买零件" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "可销售零件" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "可销售零件" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "可销售零件" msgid "Creation Date" msgstr "创建日期" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "创建人" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "默认有效期" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "天" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "价格范围" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "最新序列号" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "选择零件版本" @@ -7995,16 +8013,16 @@ msgstr "选择零件版本" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "变体" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "分配" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "物料清单" @@ -8012,40 +8030,40 @@ msgstr "物料清单" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "用于" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "零件价格" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "测试模板" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "关联零件" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "零件已锁定" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "零件参数无法编辑,因为零件已锁定" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "必填" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "不足" @@ -8057,37 +8075,37 @@ msgstr "不足" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "添加零件" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "删除零件" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "删除此零件无法撤销" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "订单" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "订单库存" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "按序列号搜索" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "零件选项" @@ -8375,7 +8393,7 @@ msgstr "总价" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "组件" @@ -9284,7 +9302,7 @@ msgstr "库存项已耗尽" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "库存信息" @@ -9747,7 +9765,7 @@ msgstr "虚拟零件" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "外部库存" @@ -9783,7 +9801,7 @@ msgstr "包括变体库存" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "正在生产" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "显示可消耗项目" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "是否有价格" @@ -9930,7 +9948,7 @@ msgstr "添加单个物料清单项目" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "从文件导入" @@ -9954,7 +9972,7 @@ msgstr "无法编辑材料清单,因为零件已锁定" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "装配" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "显示活动装配体" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "可追踪" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "显示可选项目" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "可测试" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "显示有选项的模板" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "有单位" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "您已订阅此类别的通知" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "包含子类别" @@ -11048,184 +11066,192 @@ msgstr "显示已收到的条目" msgid "View Sales Order" msgstr "查看销售订单" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "最低库存数" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "按零件活动状态筛选" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "按零件锁定状态筛选" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "按装配属性筛选" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "物料清单有效性" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "筛选具有有效物料清单的零件" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "包括子类别中的零件" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "按组件属性筛选" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "按可跟踪属性筛选" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "按可跟踪属性筛选" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "按拥有单位的零件筛选" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "有内部零件编码" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "按具有内部零件编号的零件筛选" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "有库存" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "按有库存的零件筛选" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "按库存少的零件筛选" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "可购买" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "按可购买的零件筛选" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "可销售" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "按可出售的零件筛选" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "可购买" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "按可购买的零件筛选" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "可销售" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "按可出售的零件筛选" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "按虚拟零件筛选" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "是模板" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "按模板部分筛选零件" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "是变体" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "按变体零件筛选" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "是否修订" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "按修订零件筛选" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "有修订" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "按有修订的零件筛选" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "按有定价信息的零件筛选" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "是否修订" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "按修订零件筛选" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "有修订" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "按有修订的零件筛选" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "按有定价信息的零件筛选" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "按有可用库存的零件筛选" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "按用户订阅的零件筛选" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "导入零件" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "设置类别" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "设置所选零件的类别" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "订购选定的零件" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "添加零件" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "创建零件" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "创建一个新零件" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "从文件导入零件" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "从供应商导入" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "从供应商插件导入零件" diff --git a/src/frontend/src/locales/zh_Hant/messages.po b/src/frontend/src/locales/zh_Hant/messages.po index 3581fd970d..c77b6e8057 100644 --- a/src/frontend/src/locales/zh_Hant/messages.po +++ b/src/frontend/src/locales/zh_Hant/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-09 23:17\n" +"PO-Revision-Date: 2026-05-10 10:59\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -93,7 +93,7 @@ msgstr "操作" #: src/components/wizards/ImportPartWizard.tsx:200 #: src/components/wizards/ImportPartWizard.tsx:233 #: src/pages/Index/Settings/UserSettings.tsx:77 -#: src/pages/part/PartDetail.tsx:1067 +#: src/pages/part/PartDetail.tsx:1081 msgid "Search" msgstr "搜尋" @@ -144,7 +144,7 @@ msgstr "否" #: src/forms/StockForms.tsx:1143 #: src/forms/StockForms.tsx:1187 #: src/pages/build/BuildDetail.tsx:258 -#: src/pages/part/PartDetail.tsx:1119 +#: src/pages/part/PartDetail.tsx:1133 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:91 #: src/tables/build/BuildOrderParametricTable.tsx:26 @@ -164,7 +164,7 @@ msgstr "零件" #: src/pages/part/CategoryDetail.tsx:282 #: src/pages/part/CategoryDetail.tsx:337 #: src/pages/part/CategoryDetail.tsx:368 -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:862 msgid "Parts" msgstr "零件" @@ -186,7 +186,7 @@ msgstr "參數" #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/Index/Settings/AdminCenter/Index.tsx:196 #: src/pages/Index/Settings/SystemSettings.tsx:194 -#: src/pages/part/PartDetail.tsx:811 +#: src/pages/part/PartDetail.tsx:818 msgid "Parameters" msgstr "參數" @@ -248,7 +248,7 @@ msgstr "零件類別" #: lib/enums/Roles.tsx:38 #: src/pages/part/CategoryDetail.tsx:276 #: src/pages/part/CategoryDetail.tsx:359 -#: src/pages/part/PartDetail.tsx:1108 +#: src/pages/part/PartDetail.tsx:1122 msgid "Part Categories" msgstr "零件類別" @@ -299,7 +299,7 @@ msgid "Stock Location Types" msgstr "庫存地點類型" #: lib/enums/ModelInformation.tsx:114 -#: src/pages/part/PartDetail.tsx:768 +#: src/pages/part/PartDetail.tsx:775 msgid "Stock History" msgstr "庫存歷史記錄" @@ -376,7 +376,7 @@ msgstr "採購訂單" #: src/pages/Index/Settings/SystemSettings.tsx:314 #: src/pages/company/CompanyDetail.tsx:204 #: src/pages/company/SupplierPartDetail.tsx:269 -#: src/pages/part/PartDetail.tsx:732 +#: src/pages/part/PartDetail.tsx:739 #: src/pages/purchasing/PurchasingIndex.tsx:66 msgid "Purchase Orders" msgstr "採購訂單" @@ -408,7 +408,7 @@ msgstr "銷售訂單" #: src/defaults/actions.tsx:116 #: src/pages/Index/Settings/SystemSettings.tsx:332 #: src/pages/company/CompanyDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:744 +#: src/pages/part/PartDetail.tsx:751 #: src/pages/sales/SalesIndex.tsx:53 msgid "Sales Orders" msgstr "銷售訂單" @@ -433,7 +433,7 @@ msgstr "退貨訂單" #: src/defaults/actions.tsx:127 #: src/pages/Index/Settings/SystemSettings.tsx:343 #: src/pages/company/CompanyDetail.tsx:231 -#: src/pages/part/PartDetail.tsx:751 +#: src/pages/part/PartDetail.tsx:758 #: src/pages/sales/SalesIndex.tsx:99 msgid "Return Orders" msgstr "退貨訂單" @@ -596,7 +596,7 @@ msgstr "選取項目 (多筆)" #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 -#: src/forms/BomForms.tsx:80 +#: src/forms/BomForms.tsx:83 #: src/functions/auth.tsx:691 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 @@ -628,7 +628,7 @@ msgstr "管理" #: src/defaults/actions.tsx:146 #: src/pages/Index/Settings/SystemSettings.tsx:294 #: src/pages/build/BuildIndex.tsx:67 -#: src/pages/part/PartDetail.tsx:761 +#: src/pages/part/PartDetail.tsx:768 #: src/pages/sales/SalesOrderDetail.tsx:431 msgid "Build Orders" msgstr "生產訂單" @@ -1080,7 +1080,7 @@ msgid "Latest parts" msgstr "" #: src/components/dashboard/DashboardWidgetLibrary.tsx:63 -#: src/tables/part/PartTable.tsx:272 +#: src/tables/part/PartTable.tsx:281 msgid "Low Stock" msgstr "低庫存" @@ -1089,151 +1089,160 @@ msgid "Show the number of parts which are low on stock" msgstr "顯示庫存不足的零件" #: src/components/dashboard/DashboardWidgetLibrary.tsx:74 +#: src/tables/part/PartTable.tsx:287 +msgid "High Stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +msgid "Show the number of parts which have excess stock" +msgstr "" + +#: src/components/dashboard/DashboardWidgetLibrary.tsx:85 msgid "Required for Build Orders" msgstr "生產訂單所需的" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:76 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:87 msgid "Show parts which are required for active build orders" msgstr "顯示進行中生產訂單所需的零件" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:81 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:92 msgid "Expired Stock Items" msgstr "過期庫存項目" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:83 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:94 msgid "Show the number of stock items which have expired" msgstr "顯示已過期的庫存項目數量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:89 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:100 msgid "Stale Stock Items" msgstr "陳舊庫存項目" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:91 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:102 msgid "Show the number of stock items which are stale" msgstr "顯示陳舊的庫存項目數量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:97 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:108 msgid "Active Build Orders" msgstr "進行中的生產訂單" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:99 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Show the number of build orders which are currently active" msgstr "顯示目前進行中的生產訂單數量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:104 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:115 msgid "Overdue Build Orders" msgstr "逾期的生產訂單" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:106 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Show the number of build orders which are overdue" msgstr "顯示已逾期的生產訂單數量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:111 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:122 msgid "Assigned Build Orders" msgstr "已分配的生產訂單" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:113 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Show the number of build orders which are assigned to you" msgstr "顯示分配給您的生產訂單數量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:118 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:129 msgid "Active Sales Orders" msgstr "進行中的銷售訂單" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:120 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Show the number of sales orders which are currently active" msgstr "顯示目前進行中的銷售訂單數量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:125 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:136 msgid "Overdue Sales Orders" msgstr "逾期的銷售訂單" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:127 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Show the number of sales orders which are overdue" msgstr "顯示已逾期的銷售訂單數量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:132 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:143 msgid "Assigned Sales Orders" msgstr "已分配的銷售訂單" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:134 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Show the number of sales orders which are assigned to you" msgstr "顯示分配給您的銷售訂單數量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:139 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:150 #: src/pages/sales/SalesIndex.tsx:87 msgid "Pending Shipments" msgstr "待處理發貨" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:141 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:152 msgid "Show the number of pending sales order shipments" msgstr "顯示待處理的銷售訂單發貨數量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:146 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:157 msgid "Active Purchase Orders" msgstr "進行中的採購訂單" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:148 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:159 msgid "Show the number of purchase orders which are currently active" msgstr "顯示目前進行中的採購訂單數量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:153 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:164 msgid "Overdue Purchase Orders" msgstr "逾期的採購訂單" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:155 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:166 msgid "Show the number of purchase orders which are overdue" msgstr "顯示已逾期的採購訂單數量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:160 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:171 msgid "Assigned Purchase Orders" msgstr "已分配的採購訂單" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:162 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:173 msgid "Show the number of purchase orders which are assigned to you" msgstr "顯示分配給您的採購訂單數量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:167 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:178 msgid "Active Return Orders" msgstr "進行中的退貨訂單" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:169 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:180 msgid "Show the number of return orders which are currently active" msgstr "顯示目前進行中的退貨訂單數量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:174 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:185 msgid "Overdue Return Orders" msgstr "逾期的退貨訂單" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:176 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:187 msgid "Show the number of return orders which are overdue" msgstr "顯示已逾期的退貨訂單數量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:181 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:192 msgid "Assigned Return Orders" msgstr "已分配的退貨訂單" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:183 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:194 msgid "Show the number of return orders which are assigned to you" msgstr "顯示分配給您的退貨訂單數量" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:203 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:214 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 #: src/defaults/links.tsx:86 msgid "Getting Started" msgstr "快速上手" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:204 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:215 #: src/defaults/links.tsx:89 msgid "Getting started with InvenTree" msgstr "開始使用 InvenTree" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:211 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:222 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" msgstr "最新消息" -#: src/components/dashboard/DashboardWidgetLibrary.tsx:212 +#: src/components/dashboard/DashboardWidgetLibrary.tsx:223 msgid "The latest news from InvenTree" msgstr "InvenTree 的最新消息" @@ -2200,7 +2209,7 @@ msgstr "數據已成功導入" #: src/components/modals/AboutInvenTreeModal.tsx:200 #: src/components/modals/ServerInfoModal.tsx:134 #: src/components/wizards/ImportPartWizard.tsx:773 -#: src/forms/BomForms.tsx:143 +#: src/forms/BomForms.tsx:146 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687 msgid "Close" msgstr "關閉" @@ -2396,13 +2405,13 @@ msgstr "沒有項目" #: src/components/items/TransferList.tsx:161 #: src/components/render/Stock.tsx:102 -#: src/pages/part/PartDetail.tsx:890 +#: src/pages/part/PartDetail.tsx:904 #: src/pages/stock/StockDetail.tsx:266 #: src/pages/stock/StockDetail.tsx:966 #: src/tables/ColumnRenderers.tsx:243 #: src/tables/build/BuildAllocatedStockTable.tsx:125 #: src/tables/build/BuildLineTable.tsx:198 -#: src/tables/part/PartTable.tsx:146 +#: src/tables/part/PartTable.tsx:155 #: src/tables/stock/StockItemTable.tsx:197 msgid "Available" msgstr "可用的" @@ -2775,7 +2784,7 @@ msgstr "登出" #: src/defaults/links.tsx:42 #: src/forms/StockForms.tsx:803 #: src/pages/Index/Settings/SystemSettings.tsx:241 -#: src/pages/part/PartDetail.tsx:644 +#: src/pages/part/PartDetail.tsx:651 #: src/pages/stock/LocationDetail.tsx:424 #: src/pages/stock/LocationDetail.tsx:454 #: src/pages/stock/StockDetail.tsx:644 @@ -2865,7 +2874,7 @@ msgstr "移除搜尋群組" #: src/components/nav/SearchDrawer.tsx:304 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:719 +#: src/pages/part/PartDetail.tsx:726 #: src/pages/part/PartSupplierDetail.tsx:15 #: src/pages/purchasing/PurchasingIndex.tsx:100 msgid "Suppliers" @@ -3009,14 +3018,14 @@ msgstr "日期" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68 #: src/pages/core/UserDetail.tsx:81 #: src/pages/core/UserDetail.tsx:209 -#: src/pages/part/PartDetail.tsx:465 +#: src/pages/part/PartDetail.tsx:472 #: src/tables/bom/UsedInTable.tsx:105 #: src/tables/company/CompanyTable.tsx:66 #: src/tables/company/CompanyTable.tsx:101 #: src/tables/machine/MachineListTable.tsx:384 #: src/tables/machine/MachineListTable.tsx:799 #: src/tables/part/ParametricPartTable.tsx:19 -#: src/tables/part/PartTable.tsx:206 +#: src/tables/part/PartTable.tsx:215 #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:96 #: src/tables/plugin/PluginListTable.tsx:420 @@ -3149,50 +3158,50 @@ msgstr "配送" #: src/pages/company/CompanyDetail.tsx:330 #: src/pages/company/SupplierPartDetail.tsx:381 #: src/pages/core/UserDetail.tsx:211 -#: src/pages/part/PartDetail.tsx:935 +#: src/pages/part/PartDetail.tsx:949 #: src/tables/ColumnRenderers.tsx:611 msgid "Inactive" msgstr "未激活" #: src/components/render/Part.tsx:31 -#: src/tables/part/PartTable.tsx:290 +#: src/tables/part/PartTable.tsx:305 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "虛擬" #: src/components/render/Part.tsx:34 #: src/tables/bom/BomTable.tsx:324 -#: src/tables/part/PartTable.tsx:161 +#: src/tables/part/PartTable.tsx:170 msgid "No stock" msgstr "無庫存" -#: src/components/render/Part.tsx:47 +#: src/components/render/Part.tsx:51 #: src/components/wizards/OrderPartsWizard.tsx:135 #: src/pages/company/SupplierPartDetail.tsx:200 #: src/pages/company/SupplierPartDetail.tsx:402 -#: src/pages/part/PartDetail.tsx:917 +#: src/pages/part/PartDetail.tsx:931 #: src/tables/bom/BomTable.tsx:467 #: src/tables/build/BuildLineTable.tsx:228 -#: src/tables/part/PartTable.tsx:117 +#: src/tables/part/PartTable.tsx:126 msgid "On Order" msgstr "訂購中" -#: src/components/render/Part.tsx:55 +#: src/components/render/Part.tsx:59 #: src/components/wizards/OrderPartsWizard.tsx:141 #: src/pages/part/PartDetail.tsx:437 -#: src/pages/part/PartDetail.tsx:923 +#: src/pages/part/PartDetail.tsx:937 #: src/pages/stock/StockDetail.tsx:949 #: src/tables/part/PartTestResultTable.tsx:306 #: src/tables/stock/StockItemTable.tsx:213 msgid "In Production" msgstr "生產中" -#: src/components/render/Part.tsx:74 +#: src/components/render/Part.tsx:78 #: src/tables/stock/StockTrackingTable.tsx:261 msgid "Details" msgstr "詳情" -#: src/components/render/Part.tsx:112 +#: src/components/render/Part.tsx:116 #: src/components/wizards/ImportPartWizard.tsx:807 #: src/pages/part/PartDetail.tsx:337 #: src/tables/ColumnRenderers.tsx:411 @@ -3236,6 +3245,7 @@ msgstr "序列號" #: src/components/render/Stock.tsx:104 #: src/components/wizards/OrderPartsWizard.tsx:380 +#: src/forms/BomForms.tsx:42 #: src/forms/BuildForms.tsx:260 #: src/forms/BuildForms.tsx:666 #: src/forms/BuildForms.tsx:830 @@ -3859,8 +3869,8 @@ msgid "Next" msgstr "下一步" #: src/components/wizards/ImportPartWizard.tsx:540 -#: src/pages/part/PartDetail.tsx:957 -#: src/tables/part/PartTable.tsx:419 +#: src/pages/part/PartDetail.tsx:971 +#: src/tables/part/PartTable.tsx:434 msgid "Edit Part" msgstr "編輯零件" @@ -3953,7 +3963,7 @@ msgstr "銷售需求" #: src/pages/company/SupplierPartDetail.tsx:193 #: src/pages/company/SupplierPartDetail.tsx:386 #: src/pages/part/PartDetail.tsx:384 -#: src/pages/part/PartDetail.tsx:880 +#: src/pages/part/PartDetail.tsx:898 #: src/tables/Filter.tsx:134 #: src/tables/purchasing/SupplierPartTable.tsx:269 msgid "In Stock" @@ -4053,7 +4063,7 @@ msgstr "請修正選定零件中的錯誤" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:844 -#: src/tables/part/PartTable.tsx:533 +#: src/tables/part/PartTable.tsx:548 #: src/tables/sales/SalesOrderLineItemTable.tsx:368 msgid "Order Parts" msgstr "訂購零件" @@ -4541,19 +4551,23 @@ msgstr "關於 InvenTree 專案" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BomForms.tsx:120 +#: src/forms/BomForms.tsx:43 +msgid "Required component quantity" +msgstr "" + +#: src/forms/BomForms.tsx:123 msgid "Substitute Part" msgstr "替代零件" -#: src/forms/BomForms.tsx:137 +#: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" msgstr "編輯 BOM 替代品" -#: src/forms/BomForms.tsx:144 +#: src/forms/BomForms.tsx:147 msgid "Add Substitute" msgstr "新增替代品" -#: src/forms/BomForms.tsx:145 +#: src/forms/BomForms.tsx:148 msgid "Substitute added" msgstr "已新增替代品" @@ -4678,7 +4692,7 @@ msgstr "內部零件編碼 IPN" #: src/forms/BuildForms.tsx:829 #: src/forms/BuildForms.tsx:930 #: src/forms/SalesOrderForms.tsx:435 -#: src/pages/part/PartDetail.tsx:905 +#: src/pages/part/PartDetail.tsx:919 #: src/tables/build/BuildAllocatedStockTable.tsx:129 #: src/tables/build/BuildLineTable.tsx:188 #: src/tables/sales/SalesOrderLineItemTable.tsx:340 @@ -4756,16 +4770,16 @@ msgstr "選擇此明細項目的專案代碼" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:101 -#: src/forms/PartForms.tsx:230 +#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:231 #: src/pages/part/CategoryDetail.tsx:127 -#: src/pages/part/PartDetail.tsx:518 +#: src/pages/part/PartDetail.tsx:525 #: src/tables/part/PartCategoryTable.tsx:96 -#: src/tables/part/PartTable.tsx:330 +#: src/tables/part/PartTable.tsx:345 msgid "Subscribed" msgstr "已訂閲" -#: src/forms/PartForms.tsx:102 +#: src/forms/PartForms.tsx:103 msgid "Subscribe to notifications for this part" msgstr "訂閱此零件的通知" @@ -4777,11 +4791,11 @@ msgstr "訂閱此零件的通知" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PartForms.tsx:216 +#: src/forms/PartForms.tsx:217 msgid "Parent part category" msgstr "上級零件類別" -#: src/forms/PartForms.tsx:231 +#: src/forms/PartForms.tsx:232 msgid "Subscribe to notifications for this category" msgstr "訂閱此類別的通知" @@ -4819,8 +4833,8 @@ msgid "Default location selected" msgstr "已選擇默認位置" #: src/forms/PurchaseOrderForms.tsx:563 -#: src/pages/part/PartDetail.tsx:513 -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:955 #: src/tables/bom/BomTable.tsx:167 #: src/tables/bom/BomTable.tsx:457 msgid "Virtual Part" @@ -5505,7 +5519,7 @@ msgid "Delete selected stock items" msgstr "刪除選定的庫存項目" #: src/hooks/UseStockAdjustActions.tsx:219 -#: src/pages/part/PartDetail.tsx:1049 +#: src/pages/part/PartDetail.tsx:1063 msgid "Stock Actions" msgstr "庫存操作" @@ -7102,14 +7116,14 @@ msgstr "組裝零件可能未定義材料清單 (BOM),或 BOM 為空。" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:121 -#: src/pages/part/PartDetail.tsx:690 +#: src/pages/part/PartDetail.tsx:697 #: src/pages/part/bom/BomActions.tsx:115 #: src/pages/part/bom/BomActions.tsx:120 msgid "BOM Not Validated" msgstr "BOM 未驗證" #: src/pages/build/BuildDetail.tsx:123 -#: src/pages/part/PartDetail.tsx:692 +#: src/pages/part/PartDetail.tsx:699 msgid "The Bill of Materials for this assembly has not been validated." msgstr "" @@ -7215,7 +7229,7 @@ msgid "Issued By" msgstr "發佈人" #: src/pages/build/BuildDetail.tsx:367 -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:548 #: src/pages/purchasing/PurchaseOrderDetail.tsx:262 #: src/pages/sales/ReturnOrderDetail.tsx:240 #: src/pages/sales/SalesOrderDetail.tsx:233 @@ -7303,7 +7317,7 @@ msgid "Child Build Orders" msgstr "子生產訂單" #: src/pages/build/BuildDetail.tsx:573 -#: src/pages/part/PartDetail.tsx:794 +#: src/pages/part/PartDetail.tsx:801 #: src/pages/stock/StockDetail.tsx:588 #: src/tables/build/BuildOutputTable.tsx:704 #: src/tables/stock/StockItemTestResultTable.tsx:173 @@ -7592,7 +7606,7 @@ msgstr "外部鏈接" #: src/pages/company/ManufacturerPartDetail.tsx:147 #: src/pages/company/SupplierPartDetail.tsx:235 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/PartDetail.tsx:645 msgid "Part Details" msgstr "零件詳情" @@ -7691,7 +7705,7 @@ msgid "Add Supplier Part" msgstr "添加供應商零件" #: src/pages/company/SupplierPartDetail.tsx:396 -#: src/pages/part/PartDetail.tsx:899 +#: src/pages/part/PartDetail.tsx:913 msgid "No Stock" msgstr "無庫存" @@ -7824,13 +7838,13 @@ msgstr "類別詳情" #: src/pages/part/PartAllocationPanel.tsx:21 #: src/pages/stock/StockDetail.tsx:556 -#: src/tables/part/PartTable.tsx:130 +#: src/tables/part/PartTable.tsx:139 msgid "Build Order Allocations" msgstr "分配生產訂單" #: src/pages/part/PartAllocationPanel.tsx:31 #: src/pages/stock/StockDetail.tsx:571 -#: src/tables/part/PartTable.tsx:138 +#: src/tables/part/PartTable.tsx:147 msgid "Sales Order Allocations" msgstr "分配銷售訂單" @@ -7884,7 +7898,7 @@ msgstr "關鍵詞" #: src/pages/part/PartDetail.tsx:392 #: src/tables/bom/BomTable.tsx:462 #: src/tables/build/BuildLineTable.tsx:311 -#: src/tables/part/PartTable.tsx:324 +#: src/tables/part/PartTable.tsx:339 #: src/tables/sales/SalesOrderLineItemTable.tsx:134 msgid "Available Stock" msgstr "可用庫存" @@ -7912,49 +7926,53 @@ msgstr "分配銷售訂單" msgid "Minimum Stock" msgstr "最低庫存" -#: src/pages/part/PartDetail.tsx:470 +#: src/pages/part/PartDetail.tsx:462 +msgid "Maximum Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:477 #: src/tables/bom/UsedInTable.tsx:95 #: src/tables/part/ParametricPartTable.tsx:24 -#: src/tables/part/PartTable.tsx:212 +#: src/tables/part/PartTable.tsx:221 msgid "Locked" msgstr "已鎖定" -#: src/pages/part/PartDetail.tsx:476 +#: src/pages/part/PartDetail.tsx:483 msgid "Template Part" msgstr "模板零件" -#: src/pages/part/PartDetail.tsx:481 +#: src/pages/part/PartDetail.tsx:488 #: src/tables/bom/BomTable.tsx:452 msgid "Assembled Part" msgstr "組裝零件" -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:493 msgid "Component Part" msgstr "組件零件" -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/part/PartDetail.tsx:498 #: src/tables/bom/BomTable.tsx:437 msgid "Testable Part" msgstr "可測試零件" -#: src/pages/part/PartDetail.tsx:497 +#: src/pages/part/PartDetail.tsx:504 #: src/tables/bom/BomTable.tsx:442 msgid "Trackable Part" msgstr "可追溯零件" -#: src/pages/part/PartDetail.tsx:502 +#: src/pages/part/PartDetail.tsx:509 msgid "Purchaseable Part" msgstr "可購買零件" -#: src/pages/part/PartDetail.tsx:508 -msgid "Saleable Part" -msgstr "可銷售零件" - #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" #~ msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:528 +#: src/pages/part/PartDetail.tsx:515 +msgid "Saleable Part" +msgstr "可銷售零件" + +#: src/pages/part/PartDetail.tsx:535 #: src/pages/purchasing/PurchaseOrderDetail.tsx:272 #: src/pages/sales/ReturnOrderDetail.tsx:250 #: src/pages/sales/SalesOrderDetail.tsx:243 @@ -7962,32 +7980,32 @@ msgstr "可銷售零件" msgid "Creation Date" msgstr "創建日期" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:540 #: src/tables/ColumnRenderers.tsx:636 #: src/tables/Filter.tsx:433 msgid "Created By" msgstr "創建人" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:554 msgid "Default Expiry" msgstr "預設過期時間" -#: src/pages/part/PartDetail.tsx:552 +#: src/pages/part/PartDetail.tsx:559 msgid "days" msgstr "天" -#: src/pages/part/PartDetail.tsx:562 +#: src/pages/part/PartDetail.tsx:569 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:188 +#: src/tables/part/PartTable.tsx:197 msgid "Price Range" msgstr "價格範圍" -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:579 msgid "Latest Serial Number" msgstr "最新序號" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:613 msgid "Select Part Revision" msgstr "選擇零件版本" @@ -7995,16 +8013,16 @@ msgstr "選擇零件版本" #~ msgid "Scheduling" #~ msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:663 +#: src/pages/part/PartDetail.tsx:670 msgid "Variants" msgstr "變體" -#: src/pages/part/PartDetail.tsx:670 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/stock/StockDetail.tsx:543 msgid "Allocations" msgstr "分配" -#: src/pages/part/PartDetail.tsx:677 +#: src/pages/part/PartDetail.tsx:684 msgid "Bill of Materials" msgstr "物料清單" @@ -8012,40 +8030,40 @@ msgstr "物料清單" #~ msgid "Default Supplier" #~ msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:706 +#: src/pages/part/PartDetail.tsx:713 msgid "Used In" msgstr "用於" -#: src/pages/part/PartDetail.tsx:713 +#: src/pages/part/PartDetail.tsx:720 msgid "Part Pricing" msgstr "零件價格" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:790 msgid "Test Templates" msgstr "測試模板" -#: src/pages/part/PartDetail.tsx:805 +#: src/pages/part/PartDetail.tsx:812 msgid "Related Parts" msgstr "關聯零件" -#: src/pages/part/PartDetail.tsx:817 +#: src/pages/part/PartDetail.tsx:824 #: src/tables/ColumnRenderers.tsx:73 #: src/tables/bom/BomTable.tsx:704 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" msgstr "零件已鎖定" -#: src/pages/part/PartDetail.tsx:822 +#: src/pages/part/PartDetail.tsx:829 msgid "Part parameters cannot be edited, as the part is locked" msgstr "零件參數無法編輯,因為零件已鎖定" -#: src/pages/part/PartDetail.tsx:911 +#: src/pages/part/PartDetail.tsx:925 #: src/tables/part/PartTestTemplateTable.tsx:112 #: src/tables/stock/StockItemTestResultTable.tsx:405 msgid "Required" msgstr "必填" -#: src/pages/part/PartDetail.tsx:929 +#: src/pages/part/PartDetail.tsx:943 msgid "Deficit" msgstr "短缺" @@ -8057,37 +8075,37 @@ msgstr "短缺" #~ msgid "Transfer part stock" #~ msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:969 -#: src/tables/part/PartTable.tsx:406 -#: src/tables/part/PartTable.tsx:460 +#: src/pages/part/PartDetail.tsx:983 +#: src/tables/part/PartTable.tsx:421 +#: src/tables/part/PartTable.tsx:475 msgid "Add Part" msgstr "添加零件" -#: src/pages/part/PartDetail.tsx:983 +#: src/pages/part/PartDetail.tsx:997 msgid "Delete Part" msgstr "刪除零件" -#: src/pages/part/PartDetail.tsx:992 +#: src/pages/part/PartDetail.tsx:1006 msgid "Deleting this part cannot be reversed" msgstr "刪除此零件無法撤銷" -#: src/pages/part/PartDetail.tsx:1055 +#: src/pages/part/PartDetail.tsx:1069 #: src/pages/stock/StockDetail.tsx:900 msgid "Order" msgstr "訂單" -#: src/pages/part/PartDetail.tsx:1056 +#: src/pages/part/PartDetail.tsx:1070 #: src/pages/stock/StockDetail.tsx:901 #: src/tables/build/BuildLineTable.tsx:790 msgid "Order Stock" msgstr "訂單庫存" -#: src/pages/part/PartDetail.tsx:1068 +#: src/pages/part/PartDetail.tsx:1082 msgid "Search by serial number" msgstr "依序號搜尋" -#: src/pages/part/PartDetail.tsx:1076 -#: src/tables/part/PartTable.tsx:517 +#: src/pages/part/PartDetail.tsx:1090 +#: src/tables/part/PartTable.tsx:532 msgid "Part Actions" msgstr "零件選項" @@ -8375,7 +8393,7 @@ msgstr "總價" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 #: src/tables/bom/UsedInTable.tsx:64 -#: src/tables/part/PartTable.tsx:236 +#: src/tables/part/PartTable.tsx:245 msgid "Component" msgstr "組件" @@ -9284,7 +9302,7 @@ msgstr "庫存項已耗盡" #: src/tables/ColumnRenderers.tsx:279 #: src/tables/bom/BomTable.tsx:375 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:189 #: src/tables/sales/SalesOrderLineItemTable.tsx:185 msgid "Stock Information" msgstr "庫存信息" @@ -9747,7 +9765,7 @@ msgstr "虛擬零件" #: src/tables/bom/BomTable.tsx:332 #: src/tables/build/BuildLineTable.tsx:282 -#: src/tables/part/PartTable.tsx:154 +#: src/tables/part/PartTable.tsx:163 msgid "External stock" msgstr "外部庫存" @@ -9783,7 +9801,7 @@ msgstr "包括變體庫存" #~ msgstr "Validate BOM line" #: src/tables/bom/BomTable.tsx:366 -#: src/tables/part/PartTable.tsx:123 +#: src/tables/part/PartTable.tsx:132 msgid "Building" msgstr "正在生產" @@ -9861,7 +9879,7 @@ msgid "Show consumable items" msgstr "顯示可消耗項目" #: src/tables/bom/BomTable.tsx:497 -#: src/tables/part/PartTable.tsx:318 +#: src/tables/part/PartTable.tsx:333 msgid "Has Pricing" msgstr "是否有價格" @@ -9930,7 +9948,7 @@ msgstr "新增單一 BOM 項目" #: src/tables/bom/BomTable.tsx:661 #: src/tables/general/ParameterTable.tsx:202 -#: src/tables/part/PartTable.tsx:557 +#: src/tables/part/PartTable.tsx:572 msgid "Import from File" msgstr "從檔案匯入" @@ -9954,7 +9972,7 @@ msgstr "無法編輯材料清單,因為零件已鎖定" #: src/tables/build/BuildLineTable.tsx:213 #: src/tables/part/ParametricPartTable.tsx:29 #: src/tables/part/PartBuildAllocationsTable.tsx:60 -#: src/tables/part/PartTable.tsx:218 +#: src/tables/part/PartTable.tsx:227 #: src/tables/stock/StockItemTable.tsx:187 msgid "Assembly" msgstr "裝配" @@ -9968,7 +9986,7 @@ msgid "Show active assemblies" msgstr "顯示活動裝配體" #: src/tables/bom/UsedInTable.tsx:110 -#: src/tables/part/PartTable.tsx:248 +#: src/tables/part/PartTable.tsx:257 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "可追蹤" @@ -10104,7 +10122,7 @@ msgid "Show optional lines" msgstr "顯示可選項目" #: src/tables/build/BuildLineTable.tsx:218 -#: src/tables/part/PartTable.tsx:242 +#: src/tables/part/PartTable.tsx:251 msgid "Testable" msgstr "可測試" @@ -10646,7 +10664,7 @@ msgid "Show templates with choices" msgstr "顯示有選項的模板" #: src/tables/general/ParameterTemplateTable.tsx:138 -#: src/tables/part/PartTable.tsx:254 +#: src/tables/part/PartTable.tsx:263 msgid "Has Units" msgstr "有單位" @@ -10959,7 +10977,7 @@ msgid "You are subscribed to notifications for this category" msgstr "您已訂閱此類別的通知" #: src/tables/part/PartCategoryTable.tsx:86 -#: src/tables/part/PartTable.tsx:230 +#: src/tables/part/PartTable.tsx:239 msgid "Include Subcategories" msgstr "包含子類別" @@ -11048,184 +11066,192 @@ msgstr "顯示已收到的條目" msgid "View Sales Order" msgstr "檢視銷售訂單" -#: src/tables/part/PartTable.tsx:108 +#: src/tables/part/PartTable.tsx:109 msgid "Minimum stock" msgstr "最低庫存數" -#: src/tables/part/PartTable.tsx:207 +#: src/tables/part/PartTable.tsx:119 +msgid "Maximum stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:216 msgid "Filter by part active status" msgstr "按零件活動狀態篩選" -#: src/tables/part/PartTable.tsx:213 +#: src/tables/part/PartTable.tsx:222 msgid "Filter by part locked status" msgstr "按零件鎖定狀態篩選" -#: src/tables/part/PartTable.tsx:219 +#: src/tables/part/PartTable.tsx:228 msgid "Filter by assembly attribute" msgstr "按裝配屬性篩選" -#: src/tables/part/PartTable.tsx:224 +#: src/tables/part/PartTable.tsx:233 msgid "BOM Valid" msgstr "BOM 有效" -#: src/tables/part/PartTable.tsx:225 +#: src/tables/part/PartTable.tsx:234 msgid "Filter by parts with a valid BOM" msgstr "依具有有效 BOM 的零件過濾" -#: src/tables/part/PartTable.tsx:231 +#: src/tables/part/PartTable.tsx:240 msgid "Include parts in subcategories" msgstr "包括子類別中的零件" -#: src/tables/part/PartTable.tsx:237 +#: src/tables/part/PartTable.tsx:246 msgid "Filter by component attribute" msgstr "按組件屬性篩選" -#: src/tables/part/PartTable.tsx:243 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by testable attribute" msgstr "按可跟蹤屬性篩選" -#: src/tables/part/PartTable.tsx:249 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by trackable attribute" msgstr "按可跟蹤屬性篩選" -#: src/tables/part/PartTable.tsx:255 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have units" msgstr "按擁有單位的零件篩選" -#: src/tables/part/PartTable.tsx:260 +#: src/tables/part/PartTable.tsx:269 msgid "Has IPN" msgstr "有內部零件編碼" -#: src/tables/part/PartTable.tsx:261 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts which have an internal part number" msgstr "按具有內部零件編號的零件篩選" -#: src/tables/part/PartTable.tsx:266 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stock" msgstr "有庫存" -#: src/tables/part/PartTable.tsx:267 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stock" msgstr "按有庫存的零件篩選" -#: src/tables/part/PartTable.tsx:273 +#: src/tables/part/PartTable.tsx:282 msgid "Filter by parts which have low stock" msgstr "按庫存少的零件篩選" -#: src/tables/part/PartTable.tsx:278 -msgid "Purchaseable" -msgstr "可購買" - -#: src/tables/part/PartTable.tsx:279 -msgid "Filter by parts which are purchaseable" -msgstr "按可購買的零件篩選" - -#: src/tables/part/PartTable.tsx:284 -msgid "Salable" -msgstr "可銷售" - -#: src/tables/part/PartTable.tsx:285 -msgid "Filter by parts which are salable" -msgstr "按可出售的零件篩選" - #: src/tables/part/PartTable.tsx:287 #~ msgid "Not Virtual" #~ msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:291 +#: src/tables/part/PartTable.tsx:288 +msgid "Filter by parts which have high stock" +msgstr "" + +#: src/tables/part/PartTable.tsx:293 +msgid "Purchaseable" +msgstr "可購買" + +#: src/tables/part/PartTable.tsx:294 +msgid "Filter by parts which are purchaseable" +msgstr "按可購買的零件篩選" + +#: src/tables/part/PartTable.tsx:299 +msgid "Salable" +msgstr "可銷售" + +#: src/tables/part/PartTable.tsx:300 +msgid "Filter by parts which are salable" +msgstr "按可出售的零件篩選" + +#: src/tables/part/PartTable.tsx:306 msgid "Filter by parts which are virtual" msgstr "按虛擬零件篩選" -#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:311 msgid "Is Template" msgstr "是模板" -#: src/tables/part/PartTable.tsx:297 +#: src/tables/part/PartTable.tsx:312 msgid "Filter by parts which are templates" msgstr "按模板部分篩選零件" -#: src/tables/part/PartTable.tsx:302 +#: src/tables/part/PartTable.tsx:317 msgid "Is Variant" msgstr "是變體" -#: src/tables/part/PartTable.tsx:303 +#: src/tables/part/PartTable.tsx:318 msgid "Filter by parts which are variants" msgstr "依屬於變體的零件過濾" -#: src/tables/part/PartTable.tsx:308 -msgid "Is Revision" -msgstr "是否修訂" - -#: src/tables/part/PartTable.tsx:309 -msgid "Filter by parts which are revisions" -msgstr "按修訂零件篩選" - -#: src/tables/part/PartTable.tsx:313 -msgid "Has Revisions" -msgstr "有修訂" - -#: src/tables/part/PartTable.tsx:314 -msgid "Filter by parts which have revisions" -msgstr "按有修訂的零件篩選" - -#: src/tables/part/PartTable.tsx:319 -msgid "Filter by parts which have pricing information" -msgstr "按有定價信息的零件篩選" - #: src/tables/part/PartTable.tsx:322 #~ msgid "Has Stocktake" #~ msgstr "Has Stocktake" +#: src/tables/part/PartTable.tsx:323 +msgid "Is Revision" +msgstr "是否修訂" + #: src/tables/part/PartTable.tsx:323 #~ msgid "Filter by parts which have stocktake information" #~ msgstr "Filter by parts which have stocktake information" -#: src/tables/part/PartTable.tsx:325 +#: src/tables/part/PartTable.tsx:324 +msgid "Filter by parts which are revisions" +msgstr "按修訂零件篩選" + +#: src/tables/part/PartTable.tsx:328 +msgid "Has Revisions" +msgstr "有修訂" + +#: src/tables/part/PartTable.tsx:329 +msgid "Filter by parts which have revisions" +msgstr "按有修訂的零件篩選" + +#: src/tables/part/PartTable.tsx:334 +msgid "Filter by parts which have pricing information" +msgstr "按有定價信息的零件篩選" + +#: src/tables/part/PartTable.tsx:340 msgid "Filter by parts which have available stock" msgstr "按有可用庫存的零件篩選" -#: src/tables/part/PartTable.tsx:331 +#: src/tables/part/PartTable.tsx:346 msgid "Filter by parts to which the user is subscribed" msgstr "按用户訂閲的零件篩選" -#: src/tables/part/PartTable.tsx:386 +#: src/tables/part/PartTable.tsx:401 msgid "Import Parts" msgstr "匯入零件" -#: src/tables/part/PartTable.tsx:475 -#: src/tables/part/PartTable.tsx:523 +#: src/tables/part/PartTable.tsx:490 +#: src/tables/part/PartTable.tsx:538 msgid "Set Category" msgstr "設定類別" -#: src/tables/part/PartTable.tsx:525 +#: src/tables/part/PartTable.tsx:540 msgid "Set category for selected parts" msgstr "設定選定零件的類別" -#: src/tables/part/PartTable.tsx:535 +#: src/tables/part/PartTable.tsx:550 msgid "Order selected parts" msgstr "訂購選定的零件" -#: src/tables/part/PartTable.tsx:545 +#: src/tables/part/PartTable.tsx:560 msgid "Add Parts" msgstr "新增零件" -#: src/tables/part/PartTable.tsx:551 +#: src/tables/part/PartTable.tsx:566 msgid "Create Part" msgstr "建立零件" -#: src/tables/part/PartTable.tsx:553 +#: src/tables/part/PartTable.tsx:568 msgid "Create a new part" msgstr "建立新零件" -#: src/tables/part/PartTable.tsx:559 +#: src/tables/part/PartTable.tsx:574 msgid "Import parts from a file" msgstr "從檔案匯入零件" -#: src/tables/part/PartTable.tsx:564 +#: src/tables/part/PartTable.tsx:579 msgid "Import from Supplier" msgstr "從供應商匯入" -#: src/tables/part/PartTable.tsx:566 +#: src/tables/part/PartTable.tsx:581 msgid "Import parts from a supplier plugin" msgstr "從供應商外掛程式匯入零件"