diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index f8f3bcc66a..92dc852bcd 100644 --- a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:49\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -66,8 +66,8 @@ msgstr "Въведи дата" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "родител" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "" @@ -772,11 +768,11 @@ msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -1002,7 +998,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Цялостна наличност" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index e699750e46..03e53a7bdc 100644 --- a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-22 04:56\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -66,8 +66,8 @@ msgstr "Zadejte datum" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Popis" msgid "Description (optional)" msgstr "Popis (volitelně)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "nadřazený" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "URL souboru vzdáleného obrázku" msgid "Downloading images from remote URL is not enabled" msgstr "Stahování obrázků ze vzdálené URL není povoleno" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" @@ -772,11 +768,11 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "Stavový kód sestavení" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kód dávky" @@ -1002,7 +998,7 @@ msgstr "Výstup sestavení neodpovídá příkazu sestavení" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" @@ -1038,7 +1034,7 @@ msgstr "Vytvořit objekt" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "Vybraná položka zásob neodpovídá řádku BOM" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "Zadejte sériová čísla pro sestavení výstupů" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "Automaticky přidělit požadované položky s odpovídajícími sériov msgid "Serial numbers must be provided for trackable parts" msgstr "U sledovatelných dílů musí být uvedena sériová čísla" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "Následující sériová čísla již existují nebo jsou neplatná" @@ -1244,7 +1240,7 @@ msgstr "Umístění dokončených výstupů sestavy" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "Řádková položka sestavy" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part musí ukazovat na stejný díl jako objednávka sestavy" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "Položka musí být skladem" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "Nepodařilo se spustit úlohu automatického přidělování" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "BOM Položka" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "Přidělené zásoby" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "Přidělené zásoby" msgid "On Order" msgstr "Na objednávku" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Ve výrobě" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "Typ modelu" msgid "User does not have permission to create or edit attachments for this model" msgstr "Uživatel nemá oprávnění k vytváření nebo úpravám příloh pro tento model" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "Minimální počet míst nesmí být větší než maximální počet míst" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "Maximální počet míst nesmí být menší než minimální počet míst" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "Prázdná doména není povolena." -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Neplatný název domény: {domain}" @@ -3799,7 +3803,7 @@ msgstr "Dodavatel je aktivní" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Společnost" @@ -3992,7 +3996,7 @@ msgstr "Zvolte díl" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "Vyberte výrobce" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "Odkazovaný díl výrobce musí odkazovat na stejný základní díl" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "Dodavatel" msgid "Select supplier" msgstr "Vyberte dodavatele" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Skladová evidence dodavatele" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimální poplatek (např. poplatek za skladování)" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "Odstranit společnost" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "Obrázek dílu" @@ -4259,7 +4263,7 @@ msgstr "Smazat obrázek" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "Nejsou k dispozici žádné informace o výrobci" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "Nejsou k dispozici žádné informace o dodavateli" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "Aktualizovat dostupnost dílu" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "IPN dílu" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "Aktualizovat díly" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "Aktualizovat cenu pro díl" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index 4a75629555..f0e0c110ea 100644 --- a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:49\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -66,8 +66,8 @@ msgstr "Angiv dato" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Beskrivelse" msgid "Description (optional)" msgstr "Beskrivelse (valgfri)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "overordnet" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "URL til ekstern billedfil" msgid "Downloading images from remote URL is not enabled" msgstr "Download af billeder fra ekstern URL er ikke aktiveret" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "Kontrol af baggrundstjeneste mislykkedes" @@ -772,11 +768,11 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "Produktions statuskode" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batch Kode" @@ -1002,7 +998,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index d2a1e8f24a..757418ef2c 100644 --- a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:49\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -66,8 +66,8 @@ msgstr "Datum eingeben" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Beschreibung" msgid "Description (optional)" msgstr "Beschreibung (optional)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "Eltern" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "URL der Remote-Bilddatei" msgid "Downloading images from remote URL is not enabled" msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" @@ -772,11 +768,11 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "Bau-Statuscode" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Losnummer" @@ -1002,7 +998,7 @@ msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -1038,7 +1034,7 @@ msgstr "Objekt bauen" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "Seriennummer für dieses Endprodukt eingeben" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen msgid "Serial numbers must be provided for trackable parts" msgstr "Seriennummern müssen für nachverfolgbare Teile angegeben werden" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" @@ -1244,7 +1240,7 @@ msgstr "Lagerort für fertige Endprodukte" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "Bauauftragspositionsartikel" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part muss auf dasselbe Teil verweisen wie der Bauauftrag" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "Fehler beim Starten der automatischen Zuweisung" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "Stücklisten-Position" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "Zugewiesener Bestand" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "Zugewiesener Bestand" msgid "On Order" msgstr "Bestellt" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "In Produktion" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "Eine leere Domain ist nicht erlaubt." -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ungültiger Domainname: {domain}" @@ -3799,7 +3803,7 @@ msgstr "Lieferant ist aktiv" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Firma" @@ -3992,7 +3996,7 @@ msgstr "Teil auswählen" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "Hersteller auswählen" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "Zulieferer" msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "Firma löschen" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "Artikelbild" @@ -4259,7 +4263,7 @@ msgstr "Bild löschen" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "Keine Herstellerdaten verfügbar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "Keine Lieferanteninformationen verfügbar" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "Verfügbarkeit der Teile aktualisieren" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "Name des übergeordneten Teils" msgid "Category Path" msgstr "Pfad zur Kategorie" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "Übergeordnete IPN" msgid "Part IPN" msgstr "Teil IPN" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Niedrigster Preis" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "Filter nach Kategorietiefe" #: part/api.py:141 stock/api.py:330 +msgid "Top Level" +msgstr "" + +#: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 msgid "Cascade" msgstr "Mehrstufig" -#: part/api.py:143 +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "Unterkategorien in gefilterte Ergebnisse einbeziehen" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "Übergeordnetes" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "Nach übergeordneter Kategorie filtern" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "Baum ausschließen" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "Unterkategorien in der angegebenen Kategorie ausschließen" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "Ergebnisse" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "Eingehende Bestellung" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "Ausgehender Auftrag" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "Lagerartikel produziert von Bauauftrag" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "Lagerartikel für Bauauftrag benötigt" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "Gültig" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "Kategorie" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "Verwendet" @@ -6013,7 +6025,7 @@ msgstr "Verwendet" msgid "Default Location" msgstr "Standard-Lagerort" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Gesamtbestand" @@ -6735,323 +6747,331 @@ msgstr "Teil-Beziehung kann nicht zwischen einem Teil und sich selbst erstellt w msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "Übergeordnete Teilkategorie" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Unter-Kategorien" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "Ergebnisse" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "Anzahl der Ergebnisse, die in dieser Vorlage aufgezeichnet wurden" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "Anzahl der Teile, die diese Vorlage verwenden" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "Keine Teile ausgewählt" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "Kategorie auswählen" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "Anmerkungen kopieren" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "Notizen aus Originalteil kopieren" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Initiale Lagermenge für dieses Teil. Wenn die Menge null ist, wird kein Lagerbestand hinzugefügt." -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "Externes Lager" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "Nicht zugewiesenes Lager" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "Alternatives Lager" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "Vorhandenes Bild" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "Dateiname eines vorhandenen Teilbildes" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "Bilddatei existiert nicht" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Inventurbericht auf ein bestimmtes Teil und alle Variantenteile beschränken" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Inventurbericht auf eine bestimmte Teilekategorie und alle untergeordneten Kategorien beschränken" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Inventurbericht auf einen bestimmten Lagerort und alle untergeordneten Lagerorte beschränken" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "Externen Bestand ausschließen" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "Lagerartikel an externen Orten ausschließen" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "Bericht generieren" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "Teile aktualisieren" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "Inventur-Funktionalität ist nicht aktiviert" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "Berechneten Wert für Mindestpreis überschreiben" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "Mindestpreis Währung" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "Berechneten Wert für maximalen Preis überschreiben" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "Maximalpreis Währung" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, 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:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "Mindestpreis darf nicht größer als der Maximalpreis sein" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "Der Maximalpreis darf nicht kleiner als der Mindestpreis sein" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "Keine Teilspalte angegeben" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" @@ -8231,17 +8251,17 @@ msgstr "Methode" msgid "No author found" msgstr "Kein Autor gefunden" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Plugin '{p}' ist nicht kompatibel mit der aktuellen InvenTree Version {v}" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Plugin benötigt mindestens Version {v}" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Plugin benötigt maximal Version {v}" @@ -8653,28 +8673,28 @@ msgstr "Test" msgid "Result" msgstr "Ergebnis" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "bestanden" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "fehlgeschlagen" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "Kein Ergebnis (erforderlich)" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "Kein Ergebnis" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Verbaute Objekte" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "Filtern nach Standorttiefe" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "Unterorte in gefilterte Ergebnisse einbeziehen" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "Übergeordneter Ort" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "Filtern nach übergeordnetem Ort" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Externer Standort" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "Teile-Baum" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "Gültigkeitsdauer vor" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "Gültigkeitsdauer nach" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "überfällig" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "Der angegebene Lieferantenartikel existiert nicht" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Das Zulieferteil hat eine Packungsgröße definiert, aber das Kennzeichen use_pack_size ist nicht gesetzt" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" @@ -8933,7 +8957,7 @@ msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "Verpackung, in der dieser Lagerartikel gelagert ist" @@ -8945,7 +8969,7 @@ msgstr "Ist dieses Teil in einem anderen verbaut?" msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" @@ -9054,7 +9078,7 @@ msgstr "Lagerartikel wird aktuell produziert" msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "Artikel duplizeren" @@ -9207,7 +9231,7 @@ msgstr "Anzahl darf nicht die verfügbare Menge überschreiten ({q})" msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "Ziel-Bestand" @@ -9280,78 +9304,82 @@ msgstr "Lagerartikel auswählen, um den Status zu ändern" msgid "No stock items selected" msgstr "Keine Lagerartikel ausgewählt" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Unter-Lagerorte" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "Übergeordneter Lagerort" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "Keine Änderung" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "Lagerartikel Status-Code" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" @@ -9822,20 +9850,20 @@ msgstr "Neuen Lagerort anlegen" msgid "New Location" msgstr "Neuer Lagerort" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "Lagerort" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "Lagerbehälter an diesen Ort eingescannt" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "Lagerort QR-Code" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "Barcode mit Lagerort verknüpfen" @@ -12158,23 +12186,23 @@ msgstr "Fehler in Formular" msgid "No results found" msgstr "Keine Ergebnisse gefunden" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "Suche" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "Eingabe löschen" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "Dateispalte" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "Feldname" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "Spalten auswählen" @@ -12356,10 +12384,6 @@ msgstr "Duplizierungsoptionen für Teile" msgid "Add Part Category" msgstr "Teil-Kategorie hinzufügen" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "Übergeordnete Teilkategorie" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "Icon (optional) - alle verfügbaren Icons einsehbar auf" @@ -13304,10 +13328,6 @@ msgstr "Lager-Serialisierung bestätigen" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "Standardsymbol für alle Orte, die kein Symbol haben (optional) - Erkunden Sie alle verfügbaren Symbole auf" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "Übergeordneter Lagerort" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "Lagerorttyp hinzufügen" @@ -14398,3 +14418,4 @@ msgstr "Berechtigungen Einträge zu ändern" #: users/models.py:404 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" + diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index 5887020841..12d1296fe8 100644 --- a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:49\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -66,8 +66,8 @@ msgstr "Εισάγετε ημερομηνία" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Περιγραφή" msgid "Description (optional)" msgstr "Περιγραφή (προαιρετική)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "γονέας" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "Διεύθυνση URL του αρχείου απομακρυσμένη msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε" @@ -772,11 +768,11 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" @@ -1002,7 +998,7 @@ msgstr "Η έξοδος κατασκευής δεν ταιριάζει με τη #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -1038,7 +1034,7 @@ msgstr "Αντικείμενο κατασκευής" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "Το επιλεγμένο στοιχείο αποθέματος δεν #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "Εισάγετε ποσότητα για την έξοδο κατασκ #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "Αυτόματη κατανομή των απαιτούμενων στο msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "Οι παρακάτω σειριακοί αριθμοί υπάρχουν ήδη ή δεν είναι έγκυροι" @@ -1244,7 +1240,7 @@ msgstr "Τοποθεσία για ολοκληρωμένα προϊόντα κα #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "Αντικείμενο Γραμμής Κατασκευής" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part πρέπει να δείχνει στο ίδιο εξάρτημα με τη εντολή κατασκευής" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po index 050f629123..f0ebeec87a 100644 --- a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -67,8 +67,8 @@ msgstr "" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -465,10 +465,6 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -599,7 +595,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "" @@ -773,11 +769,11 @@ msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -876,7 +872,7 @@ msgid "Build status code" msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -1003,7 +999,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1039,7 +1035,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1103,7 +1099,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1180,9 +1176,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1214,7 +1210,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1245,7 +1241,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1353,7 +1349,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1415,7 +1411,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1424,7 +1420,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1432,13 +1428,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3723,19 +3719,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3800,7 +3804,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3993,7 +3997,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4008,7 +4012,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4081,7 +4085,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4098,7 +4102,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4138,7 +4142,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4238,7 +4242,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4260,7 +4264,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4471,7 +4475,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4562,7 +4566,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4612,10 +4616,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5880,8 +5884,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5908,13 +5912,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5937,75 +5941,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6014,7 +6026,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6736,323 +6748,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8232,17 +8252,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8654,28 +8674,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8774,55 +8794,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8934,7 +8958,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8946,7 +8970,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9055,7 +9079,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9208,7 +9232,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9281,78 +9305,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9823,20 +9851,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12159,23 +12187,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12357,10 +12385,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13305,10 +13329,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index 9588858b39..ba6bc4aa5d 100644 --- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:50\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:05\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -66,8 +66,8 @@ msgstr "Ingrese la fecha" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Descripción" msgid "Description (optional)" msgstr "Descripción (opcional)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "padre" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "" @@ -772,11 +768,11 @@ msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -1002,7 +998,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 050f629123..f0ebeec87a 100644 --- a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -67,8 +67,8 @@ msgstr "" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -465,10 +465,6 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -599,7 +595,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "" @@ -773,11 +769,11 @@ msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -876,7 +872,7 @@ msgid "Build status code" msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -1003,7 +999,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1039,7 +1035,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1103,7 +1099,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1180,9 +1176,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1214,7 +1210,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1245,7 +1241,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1353,7 +1349,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1415,7 +1411,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1424,7 +1420,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1432,13 +1428,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3723,19 +3719,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3800,7 +3804,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3993,7 +3997,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4008,7 +4012,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4081,7 +4085,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4098,7 +4102,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4138,7 +4142,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4238,7 +4242,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4260,7 +4264,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4471,7 +4475,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4562,7 +4566,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4612,10 +4616,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5880,8 +5884,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5908,13 +5912,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5937,75 +5941,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6014,7 +6026,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6736,323 +6748,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8232,17 +8252,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8654,28 +8674,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8774,55 +8794,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8934,7 +8958,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8946,7 +8970,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9055,7 +9079,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9208,7 +9232,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9281,78 +9305,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9823,20 +9851,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12159,23 +12187,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12357,10 +12385,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13305,10 +13329,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po index 6c370fba77..d552c5246b 100644 --- a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:50\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:05\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -66,8 +66,8 @@ msgstr "تاریخ را وارد کنید" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "آدرس فایل تصویری از راه دور" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "" @@ -772,11 +768,11 @@ msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -1002,7 +998,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index 5688e9ac08..9495f6c527 100644 --- a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:49\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -66,8 +66,8 @@ msgstr "Anna päivämäärä" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Kuvaus" msgid "Description (optional)" msgstr "Kuvaus (valinnainen)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "Kuvatiedoston URL" msgid "Downloading images from remote URL is not enabled" msgstr "Kuvien lataaminen ei ole käytössä" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "" @@ -772,11 +768,11 @@ msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -1002,7 +998,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "Verkkotunnus ei saa olla tyhjä." -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Virheellinen verkkotunnus: {domain}" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Yritys" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "Valitse valmistaja" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "Toimittaja" msgid "Select supplier" msgstr "Valitse toimittaja" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Toimittajan varastonimike" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "Poista yritys" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "Osan kuva" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "Kategoria" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Valmistajan osanumero" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "Luo raportti" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "Uusi sijainti" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "Oikeus muokata kohteita" #: users/models.py:404 msgid "Permission to delete items" msgstr "Oikeus poistaa kohteita" + diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index 70a129d724..d0fdc77415 100644 --- a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:49\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -66,8 +66,8 @@ msgstr "Entrer la date" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Description" msgid "Description (optional)" msgstr "Description (facultative)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "parent" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "URL du fichier image distant" msgid "Downloading images from remote URL is not enabled" msgstr "Le téléchargement des images depuis une URL distante n'est pas activé" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" @@ -772,11 +768,11 @@ msgstr "BuildOrder associé a cette fabrication" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "Code de statut de construction" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Code de lot" @@ -1002,7 +998,7 @@ msgstr "L'ordre de production de correspond pas à l'ordre de commande" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" @@ -1038,7 +1034,7 @@ msgstr "Création de l'objet" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "Entrer les numéros de séries pour la fabrication" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "Affecter automatiquement les éléments requis avec les numéros de sér msgid "Serial numbers must be provided for trackable parts" msgstr "Les numéros de série doivent être fournis pour les pièces traçables" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "Les numéros de série suivants existent déjà, ou sont invalides" @@ -1244,7 +1240,7 @@ msgstr "Emplacement des ordres de production achevés" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "Élément de la ligne de construction" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part doit pointer sur la même pièce que l'ordre de construction" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "L'article doit être en stock" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "Article du BOM" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "Stock alloué" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "Stock alloué" msgid "On Order" msgstr "En Commande" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "En Production" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3312,7 +3308,7 @@ msgstr "Longueur de la chaîne dans les Tableau" #: common/models.py:2424 msgid "Maximum length limit for strings displayed in table views" -msgstr "" +msgstr "Longueur maximale des chaînes affichées dans les tableaux" #: common/models.py:2430 msgid "Default part label template" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "Un domaine vide n'est pas autorisé." -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nom de domaine invalide : {domain}" @@ -3799,7 +3803,7 @@ msgstr "Le fournisseur est actif" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Société" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "Sélectionner un fabricant" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "La pièce du fabricant liée doit faire référence à la même pièce d #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "Fournisseur" msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "Supprimer la société" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "Supprimer image" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "Aucune information sur le fabricant disponible" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "Aucune information de fournisseur disponible" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "Chemin catégorie" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prix Minimum" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "Valide" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "Catégorie" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "Utilise" @@ -6013,7 +6025,7 @@ msgstr "Utilise" msgid "Default Location" msgstr "Emplacement par défaut" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Stock total" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -7079,7 +7099,7 @@ msgstr "" #: part/tasks.py:37 msgid "Low stock notification" -msgstr "" +msgstr "Notification de stock faible" #: part/tasks.py:39 #, python-brace-format @@ -7109,11 +7129,11 @@ msgstr "" #: part/templates/part/category.html:41 part/templates/part/category.html:45 msgid "You are subscribed to notifications for this category" -msgstr "" +msgstr "Vous êtes abonné aux notifications pour cette catégorie" #: part/templates/part/category.html:49 msgid "Subscribe to notifications for this category" -msgstr "" +msgstr "S'abonner aux notifications de cette catégorie" #: part/templates/part/category.html:55 msgid "Category Actions" @@ -7366,11 +7386,11 @@ msgstr "Liste des composants" #: part/templates/part/part_base.html:25 part/templates/part/part_base.html:29 msgid "You are subscribed to notifications for this part" -msgstr "" +msgstr "Vous êtes abonné aux notifications pour cette pièce" #: part/templates/part/part_base.html:33 msgid "Subscribe to notifications for this part" -msgstr "" +msgstr "S'abonner aux notifications de cette pièce" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 @@ -7689,7 +7709,7 @@ msgstr "" #: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" -msgstr "" +msgstr "Stock minimum" #: part/templates/part/upload_bom.html:8 msgid "Return to BOM" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8306,7 +8326,7 @@ msgstr "" #: plugin/serializers.py:101 msgid "Version specifier for the plugin. Leave blank for latest version." -msgstr "" +msgstr "Identifiant de version du plugin. Laissez vide pour la dernière version." #: plugin/serializers.py:106 msgid "Confirm plugin installation" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "Résultat" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "Entrez les numéros de série pour les nouveaux articles" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -9911,15 +9939,15 @@ msgstr "" #: templates/InvenTree/index.html:39 msgid "Subscribed Parts" -msgstr "" +msgstr "Pièces suivies" #: templates/InvenTree/index.html:52 msgid "Subscribed Categories" -msgstr "" +msgstr "Catégories favorites" #: templates/InvenTree/index.html:62 msgid "Latest Parts" -msgstr "" +msgstr "Dernières pièces" #: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" @@ -9927,7 +9955,7 @@ msgstr "" #: templates/InvenTree/index.html:106 msgid "Recently Updated" -msgstr "" +msgstr "Mis à jour récemment" #: templates/InvenTree/index.html:134 msgid "Depleted Stock" @@ -10064,7 +10092,7 @@ msgstr "" #: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" -msgstr "" +msgstr "Inscription" #: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" @@ -10428,11 +10456,11 @@ msgstr "Paramètres Utilisateur" #: templates/InvenTree/settings/sidebar.html:9 msgid "Account" -msgstr "" +msgstr "Compte" #: templates/InvenTree/settings/sidebar.html:11 msgid "Display" -msgstr "" +msgstr "Affichage" #: templates/InvenTree/settings/sidebar.html:13 msgid "Home Page" @@ -10826,17 +10854,17 @@ msgstr "" #: templates/account/logout.html:10 msgid "Are you sure you want to sign out?" -msgstr "" +msgstr "Voulez-vous vraiment vous déconnecter ?" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 #: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" -msgstr "" +msgstr "Retourner au site" #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" -msgstr "" +msgstr "Réinitialisation mot de passe" #: templates/account/password_reset.html:18 msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." @@ -10844,15 +10872,15 @@ msgstr "" #: templates/account/password_reset.html:23 msgid "Reset My Password" -msgstr "" +msgstr "Réinitialiser mon mot de passe" #: templates/account/password_reset.html:27 templates/account/signup.html:37 msgid "This function is currently disabled. Please contact an administrator." -msgstr "" +msgstr "Cette fonction est actuellement désactivée. Veuillez contacter un administrateur." #: templates/account/password_reset_from_key.html:7 msgid "Bad Token" -msgstr "" +msgstr "Mauvais jeton" #: templates/account/password_reset_from_key.html:11 #, python-format @@ -10861,7 +10889,7 @@ msgstr "" #: templates/account/password_reset_from_key.html:18 msgid "Change password" -msgstr "" +msgstr "Changer de mot de passe" #: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." @@ -11520,7 +11548,7 @@ msgstr "" #: templates/js/translated/build.js:370 templates/js/translated/stock.js:121 #: templates/js/translated/stock.js:296 msgid "Latest serial number" -msgstr "" +msgstr "Dernier numéro de série" #: templates/js/translated/build.js:379 msgid "The Bill of Materials contains trackable parts" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14208,7 +14228,7 @@ msgstr "" #: templates/socialaccount/login.html:24 msgid "Continue" -msgstr "" +msgstr "Continuer" #: templates/socialaccount/login.html:29 msgid "Invalid SSO Provider" @@ -14398,3 +14418,4 @@ msgstr "Droit de modifier des élément" #: users/models.py:404 msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" + diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index a52d8a27df..7510094408 100644 --- a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:49\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -66,8 +66,8 @@ msgstr "הזן תאריך סיום" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "תיאור" msgid "Description (optional)" msgstr "תיאור (לא חובה)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "מקור" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "" @@ -772,11 +768,11 @@ msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -1002,7 +998,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index 890d012f43..1332f77c5e 100644 --- a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:50\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:05\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -66,8 +66,8 @@ msgstr "तारीख दर्ज करें" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "" @@ -772,11 +768,11 @@ msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -1002,7 +998,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index c5828e4dcd..f00e292a10 100644 --- a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:49\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -66,8 +66,8 @@ msgstr "Dátum megadása" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Leírás" msgid "Description (optional)" msgstr "Leírás (opcionális)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "szülő" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "A távoli kép URL-je" msgid "Downloading images from remote URL is not enabled" msgstr "Képek letöltése távoli URL-ről nem engedélyezett" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" @@ -772,11 +768,11 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "Gyártás státusz kód" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batch kód" @@ -1002,7 +998,7 @@ msgstr "Gyártási kimenet nem egyezik a gyártási utasítással" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" @@ -1038,7 +1034,7 @@ msgstr "Gyártás objektum" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "Szükséges tételek automatikus hozzárendelése a megfelelő sorozatsz msgid "Serial numbers must be provided for trackable parts" msgstr "Egyedi követésre jelölt alkatrészeknél kötelező sorozatszámot megadni" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" @@ -1244,7 +1240,7 @@ msgstr "A kész gyártási kimenetek helye" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1353,7 +1349,7 @@ msgstr "Gyártás sor tétel" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part ugyanarra az alkatrészre kell mutasson mint a gyártási utasítás" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" @@ -1415,7 +1411,7 @@ msgid "Failed to start auto-allocation task" msgstr "Nem sikerült az automatikus lefoglalás feladatot elindítani" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" @@ -1424,7 +1420,7 @@ msgid "Allocated Stock" msgstr "Lefoglalt készlet" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1432,13 +1428,13 @@ msgstr "Lefoglalt készlet" msgid "On Order" msgstr "Rendelve" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Gyártásban" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3723,19 +3719,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "Üres domain nem engedélyezett." -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Érvénytelen domain név: {domain}" @@ -3800,7 +3804,7 @@ msgstr "A Beszállító Aktív" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Cég" @@ -3993,7 +3997,7 @@ msgstr "Válassz alkatrészt" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4008,7 +4012,7 @@ msgid "Select manufacturer" msgstr "Gyártó kiválasztása" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4081,7 +4085,7 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4098,7 +4102,7 @@ msgstr "Beszállító" msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" @@ -4138,7 +4142,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4238,7 +4242,7 @@ msgstr "Cég törlése" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "Alkatrész képe" @@ -4260,7 +4264,7 @@ msgstr "Kép törlése" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4471,7 +4475,7 @@ msgstr "Nincs elérhető gyártói információ" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4562,7 +4566,7 @@ msgid "No supplier information available" msgstr "Nincs elérhető beszállítói információ" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4612,10 +4616,10 @@ msgid "Update Part Availability" msgstr "Alkatrész elérhetőség frissítése" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5880,8 +5884,8 @@ msgstr "Szülő neve" msgid "Category Path" msgstr "Kategória elérési út" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5908,13 +5912,13 @@ msgstr "Szülő IPN" msgid "Part IPN" msgstr "Alkatrész IPN" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minimum ár" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5937,75 +5941,83 @@ msgid "Filter by category depth" msgstr "Kategória mélységre szűrés" #: part/api.py:141 stock/api.py:330 +msgid "Top Level" +msgstr "" + +#: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 msgid "Cascade" msgstr "Lépcsőzetes" -#: part/api.py:143 +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "Szűrt eredmények tartalmazzák az alkategóriákat" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "Szülő" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "Szülő kategóriára szűrés" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "Fa kihagyása" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "Az adott kategória alkategóriáinak kihagyása" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "Van találat" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "Beérkező beszerzési rendelés" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "Kimenő vevői rendelés" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "Gyártással előállított készlet" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "A gyártási utasításhoz szükséges készlet" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "Érvényes" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "Kategória" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "Használ" @@ -6014,7 +6026,7 @@ msgstr "Használ" msgid "Default Location" msgstr "Alapértelmezett hely" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Teljes készlet" @@ -6736,323 +6748,331 @@ msgstr "Alkatrész kapcsolat nem hozható létre önmagával" msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "Felsőbb szintű alkatrész kategória" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Alkategóriák" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "Eredmények" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "Eszerint a sablon szerint rögzített eredmények száma" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "Ennyi alkatrész használja ezt a sablont" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "Nincs kiválasztva alkatrész" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "Válassz kategóriát" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "Megjegyzések másolása" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "Megjegyzések másolása az eredeti alkatrészről" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Add meg a kezdeti készlet mennyiséget. Ha nulla akkor nem lesz készlet létrehozva." -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Válassz beszállítót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "A kiválasztott cég nem érvényes beszállító" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "A kiválasztott cég nem érvényes gyártó" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "Van már ilyen gyártói alkatrész" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "Külső raktárkészlet" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "Nem lefoglalt készlet" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "Variánsok Raktárkészlet" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "Alkatrész másolása" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:885 +#: part/serializers.py:893 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:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "Meglévő kép" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "A meglévő alkatrész képfájl neve" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "A képfájl nem létezik" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Leltár riport korlátozása bizonyos alkatrészre és variánsra" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Leltár riport korlátozása bizonyos alkatrész kategóriára és az alatta lévőkre" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Leltár riport korlátozása bizonyos készlethelyre és az alatta lévőkre" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "Külső készlet nélkül" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "Külső helyeken lévő készlet nélkül" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "Riport létrehozása" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "Riport fájl létrehozása a számított leltár adatokkal" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "Alaktrészek frissítése" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "Megadott alkatrészek frissítése a számított leltár adatokkal" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "Leltár funkció nincs engedélyezve" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "Számított minimum ár felülbírálása" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "Minimum ár pénzneme" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "Számított maximum ár felülbírálása" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "Maximum ár pénzneme" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, 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:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "A Minimum ár nem lehet nagyobb mint a Maximum ár" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "A Maximum ár nem lehet kisebb mint a Minimum ár" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1728 +#: part/serializers.py:1736 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:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1734 +#: part/serializers.py:1742 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:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "Helyettesítő alkatrészek másolása az alkatrészjegyzék tételek másolásakor" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "Meglévő alkatrészjegyzék tételek törlése a feltöltés előtt" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" @@ -8232,17 +8252,17 @@ msgstr "Módszer" msgid "No author found" msgstr "Nincs szerző" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "A '{p}' plugin nem kompatibilis az aktuális applikáció verzióval {v}" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "A pluginhoz minimum {v} verzió kell" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "A pluginhoz maximum {v} verzió kell" @@ -8654,28 +8674,28 @@ msgstr "Teszt" msgid "Result" msgstr "Eredmény" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "Sikeres" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "Sikertelen" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "Nincs eredmény (szükséges)" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "Nincs eredmény" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Beépített tételek" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8774,55 +8794,59 @@ msgid "Filter by location depth" msgstr "Hely mélységre szűrés" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "Szűrt eredmények tartalmazzák az alhelyeket" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "Szülő hely" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "Szülő helyre szűrés" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Külső hely" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "Alkatrész fa" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "Lejárat előtt" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "Lejárat után" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Állott" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "A megadott beszállítói alkatrész nem létezik" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "A beszállítói alkatrészhez van megadva csomagolási mennyiség, de a use_pack_size flag nincs beállítva" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén" @@ -8934,7 +8958,7 @@ msgstr "Válassz egy egyező beszállítói alkatrészt ehhez a készlet tételh msgid "Where is this stock item located?" msgstr "Hol található ez az alkatrész?" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "A csomagolása ennek a készlet tételnek itt van tárolva" @@ -8946,7 +8970,7 @@ msgstr "Ez a tétel be van építve egy másik tételbe?" msgid "Serial number for this item" msgstr "Sorozatszám ehhez a tételhez" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" @@ -9055,7 +9079,7 @@ msgstr "Készlet tétel gyártás alatt" msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" @@ -9208,7 +9232,7 @@ msgstr "A mennyiség nem lépheti túl a rendelkezésre álló készletet ({q})" msgid "Enter serial numbers for new items" msgstr "Írd be a sorozatszámokat az új tételekhez" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "Cél készlet hely" @@ -9281,78 +9305,82 @@ msgstr "Válaszd ki a státuszváltásra szánt készlet tételeket" msgid "No stock items selected" msgstr "Nincs készlet tétel kiválasztva" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alhelyek" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "Felsőbb szintű készlet hely" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "Különböző beszállítói alkatrészekből származó készletek összevonásának engedélyezése" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "Különböző állapotú készletek összevonásának engedélyezése" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "Nincs változás" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "Készlet tétel státusz kódja" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" @@ -9823,20 +9851,20 @@ msgstr "Új készlet hely létrehozása" msgid "New Location" msgstr "Új hely" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "készlet hely" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "Készlet tároló bevételezve erre a helyre" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "Készlet hely QR kódja" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "Vonalkód hozzárendelése a készlet helyhez" @@ -12159,23 +12187,23 @@ msgstr "Form hibák vannak" msgid "No results found" msgstr "Nincs találat" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "Keresés" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "Bevitel törlése" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "Fájl oszlop" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "Mező név" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "Oszlopok kiválasztása" @@ -12357,10 +12385,6 @@ msgstr "Alkatrész másolási opciók" msgid "Add Part Category" msgstr "Alkatrész kategória hozzáadása" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "Felsőbb szintű alkatrész kategória" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "Ikon (opcionális) - Az összes ikon felfedezése itt" @@ -13305,10 +13329,6 @@ msgstr "Készlet sorozatszámozás megerősítése" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "Alapértelmezett ikon minden készlethelyre melyhez nincs ikon rendelve (választható) - Válogass az ikonok közül" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "Felsőbb szintű készlet hely" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "Készlethely típus hozzáadása" @@ -14399,3 +14419,4 @@ msgstr "Jogosultság tételek szerkesztéséhez" #: users/models.py:404 msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" + diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index acaaa86907..fc03d8d445 100644 --- a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:50\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:05\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -66,8 +66,8 @@ msgstr "Masukkan tanggal" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Keterangan" msgid "Description (optional)" msgstr "Keterangan (opsional)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "induk" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "URL file gambar external" msgid "Downloading images from remote URL is not enabled" msgstr "Unduhan gambar dari URL external tidak aktif" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "" @@ -772,11 +768,11 @@ msgstr "Produksi induk dari produksi ini" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "Kode status pembuatan" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kode Kelompok" @@ -1002,7 +998,7 @@ msgstr "Hasil produksi tidak sesuai dengan order produksi" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "Masukkan nomor seri untuk hasil pesanan" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara oto msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid" @@ -1244,7 +1240,7 @@ msgstr "Lokasi hasil pesanan yang selesai" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part harus mengarah ke bagian yang sesuai dengan order produksi" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "Item tagihan material" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index 17e6f856cd..513926b497 100644 --- a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:49\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -66,8 +66,8 @@ msgstr "Inserisci la data" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Descrizione" msgid "Description (optional)" msgstr "Descrizione (opzionale)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "genitore" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "URL del file immagine remota" msgid "Downloading images from remote URL is not enabled" msgstr "Il download delle immagini da URL remoto non è abilitato" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" @@ -772,11 +768,11 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "Codice stato di produzione" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Codice Lotto" @@ -1002,7 +998,7 @@ msgstr "L'output della produzione non corrisponde all'ordine di compilazione" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" @@ -1038,7 +1034,7 @@ msgstr "Crea oggetto" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "Inserisci i numeri di serie per gli output di compilazione (build option #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie cor msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" @@ -1244,7 +1240,7 @@ msgstr "Posizione per gli output di build completati" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "Articolo linea di produzione" msgid "bom_item.part must point to the same part as the build order" msgstr "gli elementi degli articoli della distinta base devono puntare alla stessa parte dell'ordine di produzione" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "Distinta base (Bom)" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "Ordinato" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "Un dominio vuoto non è consentito." -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nome dominio non valido: {domain}" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Azienda" @@ -3992,7 +3996,7 @@ msgstr "Seleziona articolo" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "Seleziona Produttore" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "Fornitore" msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "Elimina Azienda" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "Elimina immagine" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "Nessuna informazione sul produttore disponibile" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "Nessuna informazione sul fornitore disponibile" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "Nome Principale" msgid "Category Path" msgstr "Percorso Categoria" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "IPN Principale" msgid "Part IPN" msgstr "IPN Articolo" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prezzo Minimo" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "Ordine D'Acquisto In Arrivo" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "Ordine di Vendita in Uscita" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "Giacenza prodotta dall'Ordine di Costruzione" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "Giacenza richiesta per l'Ordine di Produzione" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "Valido" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "Convalida l'intera Fattura dei Materiali" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "Questa opzione deve essere selezionata" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "Categoria" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "Posizione Predefinita" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Giacenze Totali" @@ -6735,323 +6747,331 @@ msgstr "Non si può creare una relazione tra l'articolo e sé stesso" msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Sottocategorie" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "Copia parametri" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Specificare la quantità iniziale disponibile per questo Articolo. Se la quantità è zero, non viene aggiunta alcuna quantità." -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitare il report d'inventario ad un articolo particolare e a eventuali articoli varianti" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limita il report d'inventario ad una particolare categoria articolo, e a eventuali categorie secondarie" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limita il report d'inventario ad una particolare ubicazione di magazzino, e a eventuali ubicazioni secondarie" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "Genera Report" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "Genera file di report contenente dati di inventario calcolati" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "Aggiorna Articoli" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "La funzione Inventario non è abilitata" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "Cancella Distinta Base esistente" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "Rimuovi elementi distinta base esistenti prima del caricamento" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "Nessuna colonna articolo specificata" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "Trovati più articoli corrispondenti" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "Nessun articolo corrispondente trovato" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "L'articolo non è indicato come componente" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "Quantità non fornita" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "Quantità non valida" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "Almeno un elemento della distinta base è richiesto" @@ -8231,17 +8251,17 @@ msgstr "Metodo" msgid "No author found" msgstr "Nessun autore trovato" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "Risultato" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "Passaggio" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "Fallito" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "Nessun risultato (richiesto)" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "Nessun risultato" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Elementi installati" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Ubicazione Esterna" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Obsoleto" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile" @@ -8933,7 +8957,7 @@ msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di ma msgid "Where is this stock item located?" msgstr "Dove si trova questo articolo di magazzino?" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "Imballaggio di questo articolo di magazzino è collocato in" @@ -8945,7 +8969,7 @@ msgstr "Questo elemento è stato installato su un altro elemento?" msgid "Serial number for this item" msgstr "Numero di serie per questo elemento" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "Codice lotto per questo elemento di magazzino" @@ -9054,7 +9078,7 @@ msgstr "L'elemento di magazzino è attualmente in produzione" msgid "Serialized stock cannot be merged" msgstr "Il magazzino serializzato non può essere unito" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" @@ -9207,7 +9231,7 @@ msgstr "La quantità non deve superare la quantità disponibile ({q})" msgid "Enter serial numbers for new items" msgstr "Inserisci i numeri di serie per i nuovi elementi" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sottoallocazioni" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "L'articolo deve essere vendibile" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "L'elemento è assegnato a un ordine di vendita" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "Elemento assegnato a un ordine di costruzione" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "Cliente a cui assegnare elementi di magazzino" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "L'azienda selezionata non è un cliente" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "Note sull'assegnazione delle scorte" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "Deve essere fornito un elenco degli elementi di magazzino" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "Note di fusione di magazzino" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "Consenti fornitori non corrispondenti" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "Consenti di unire gli elementi di magazzino che hanno fornitori diversi" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "Consenti stato non corrispondente" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "Consenti di unire gli elementi di magazzino con diversi codici di stato" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "Devono essere riforniti almeno due elementi in magazzino" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "Valore di chiave primaria StockItem" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "Note sugli spostamenti di magazzino" @@ -9822,20 +9850,20 @@ msgstr "Crea nuova posizione di magazzino" msgid "New Location" msgstr "Nuova Posizione" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "Esistono errori nel modulo" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "Permessi per modificare gli elementi" #: users/models.py:404 msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" + diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index 8617f095fa..dbdd5317f5 100644 --- a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:49\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -66,8 +66,8 @@ msgstr "日付を入力する" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "説明" msgid "Description (optional)" msgstr "説明 (オプション)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "親" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "外部画像ファイルのURL" msgid "Downloading images from remote URL is not enabled" msgstr "外部URLからの画像ダウンロードは許可されていません" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" @@ -772,11 +768,11 @@ msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -1002,7 +998,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "仕入先" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "カテゴリ" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "サブカテゴリ" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "カテゴリを選択" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "パーツは販売可能でなければなりません" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "項目を編集する権限" #: users/models.py:404 msgid "Permission to delete items" msgstr "項目を削除する権限" + diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index 0ad5f221ab..2932296749 100644 --- a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:49\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -66,8 +66,8 @@ msgstr "" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "" @@ -772,11 +768,11 @@ msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -1002,7 +998,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index 9b218fe257..c5268a646a 100644 --- a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:50\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:05\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -66,8 +66,8 @@ msgstr "Ievadiet datumu" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "" @@ -772,11 +768,11 @@ msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -1002,7 +998,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index d78fd24516..35270d08ea 100644 --- a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:49\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -66,8 +66,8 @@ msgstr "Voer datum in" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Omschrijving" msgid "Description (optional)" msgstr "Omschrijving (optioneel)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "bovenliggende" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "URL van extern afbeeldingsbestand" msgid "Downloading images from remote URL is not enabled" msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" @@ -772,11 +768,11 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "Productiestatuscode" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchcode" @@ -1002,7 +998,7 @@ msgstr "Productuitvoer komt niet overeen met de Productieorder" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" @@ -1038,7 +1034,7 @@ msgstr "Bouw object" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "Voer serienummers in voor productieuitvoeren" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" @@ -1244,7 +1240,7 @@ msgstr "Locatie van voltooide productieuitvoeren" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "Bouw lijn-item" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part moet naar hetzelfde onderdeel wijzen als de productieorder" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "Stuklijstartikel" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "In bestelling" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "Een leeg domein is niet toegestaan." -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ongeldige domeinnaam: {domain}" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Bedrijf" @@ -3992,7 +3996,7 @@ msgstr "Onderdeel selecteren" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "Fabrikant selecteren" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "Leverancier" msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "Bedrijf verwijderen" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "Afbeelding onderdeel" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "Geen fabrikanten informatie beschikbaar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "Geen leveranciersinformatie beschikbaar" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "Binnenkomende Inkooporder" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "Uitgaande Verkooporder" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "Geproduceerde voorraad door Productieorder" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "Voorraad vereist voor Productieorder" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "Standaard locatie" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Totale Voorraad" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "Geen onderdelen geselecteerd" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "Ongeldige hoeveelheid" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sublocaties" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "Artikel is toegewezen aan een verkooporder" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "Artikel is toegewezen aan een productieorder" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "Maak nieuwe voorraadlocatie" msgid "New Location" msgstr "Nieuwe Locatie" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index c8fb53a775..6d544c763b 100644 --- a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:49\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -66,8 +66,8 @@ msgstr "Oppgi dato" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Beskrivelse" msgid "Description (optional)" msgstr "Beskrivelse (valgfritt)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "overkategori" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "URLtil ekstern bildefil" msgid "Downloading images from remote URL is not enabled" msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "Sjekk av bakgrunnsarbeider mislyktes" @@ -772,11 +768,11 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "Produksjonsstatuskode" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchkode" @@ -1002,7 +998,7 @@ msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" @@ -1038,7 +1034,7 @@ msgstr "Produksjonsobjekt" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "Angi serienummer for produksjonsartikler" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" @@ -1244,7 +1240,7 @@ msgstr "Plassering for ferdige produksjonsartikler" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "Produksjonsartikkel" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part må peke på den samme delen som produksjonsordren" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "Artikkelen må være på lager" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "BOM-artikkel" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "Tildelt lagerbeholdning" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "Tildelt lagerbeholdning" msgid "On Order" msgstr "I bestilling" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "I produksjon" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "Et tomt domene er ikke tillatt." -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ugyldig domenenavn: {domain}" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Firma" @@ -3992,7 +3996,7 @@ msgstr "Velg del" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "Velg produsent" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "Leverandør" msgid "Select supplier" msgstr "Velg leverandør" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Leverandørens lagerbeholdningsenhet" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift)" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "Slett Firma" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "Bilde av del" @@ -4259,7 +4263,7 @@ msgstr "Slett bilde" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "Ingen produsentinformasjon tilgjengelig" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "Ingen leverandørinformasjon tilgjengelig" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "Overordnet navn" msgid "Category Path" msgstr "Sti til kategori" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "Overodnet IPN" msgid "Part IPN" msgstr "Del -IPN" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minstepris" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "Innkommende innkjøpsordre" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "Utgående salgsordre" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "Lagervarer produsert av en produksjonsordre" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "Lagervarer påkrevd for produksjonsordre" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "Gyldig" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "Godkjenn hele Stykklisten" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "Dette alternativet må være valgt" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "Kategori" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "Standard plassering" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Total lagerbeholdning" @@ -6735,323 +6747,331 @@ msgstr "Del-forhold kan ikke opprettes mellom en del og seg selv" msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Underkategorier" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "Innkjøpsvaluta for lagervaren" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "Ingen deler valgt" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "Velg kategori" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopier Stykkliste" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "Kopier parametere" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "Kopier notater" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "Kopier notater fra originaldel" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Angi initiell lagermengde for denne delen. Hvis antall er null, er ingen lagerbeholdning lagt til." -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Velg leverandør (eller la stå tom for å hoppe over)" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Velg produsent (eller la stå tom for å hoppe over)" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Produsentens delenummer" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "Lag en del med innledende lagermengde" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "Leverandøropplysninger" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "Legg til innledende leverandørinformasjon for denne delen" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "Eksisterende bilde" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "Filnavn for et eksisterende del-bilde" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "Bildefilen finnes ikke" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Begrens lagerbeholdningsrapport til en bestemt del og enhver variant av delen" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Begrens lagerbeholdningsrapport til en bestemt delkategori og alle underkategorier" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Begrens lagerbeholdningsrapport til en bestemt plasering og eventuelle underplasseringer" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "Ekskluder ekstern lagerbeholdning" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "Ekskluder lagervarer i eksterne lokasjoner" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "Generer rapport" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "Genererer rapport som inneholder beregnede lagerdata" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "Oppdater deler" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "Overstyr beregnet verdi for minimumspris" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "Valuta for minstepris" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "Overstyr beregnet verdi for maksimal pris" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "Valuta for maksimal pris" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, 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:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "Minsteprisen kan ikke være større enn maksimal pris" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "Maksimal pris kan ikke være mindre enn minstepris" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM-artikler før kopiering" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "Inkluder arvede" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM-artikler som er arvet fra maldeler" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "Nullstill eksisterende BOM" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "Fjern eksisterende BOM-artikler før opplastning" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "Ingen del-kolonne angitt" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "Flere samsvarende deler funnet" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "Ingen samsvarende del funnet" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "Delen er ikke betegnet som en komponent" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "Antall ikke oppgitt" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "Ugyldig antall" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "Minst en BOM-artikkel kreves" @@ -8231,17 +8251,17 @@ msgstr "Metode" msgid "No author found" msgstr "Ingen forfatter funnet" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Utvidensen '{p}' er ikke kompatibel med nåværende InvenTree-versjon {v}" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Utvidelsen krever minst versjon {v}" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Utvidelsen krever maks versjon {v}" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "Resultat" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "Bestått" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "Mislykket" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "Ingen resultat (obligatorisk)" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "Ingen resultat" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Installerte artikler" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Ekstern plassering" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "Del-tre" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "Utløpsdato før" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "Utløpsdato etter" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Foreldet" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "Antall kreves" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "Gyldig del må oppgis" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "Oppgitt leverandørdel eksisterer ikke" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Leverandørdelen har en pakkestørrelse definert, men flagget \"use_pack_size\" er ikke satt" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serienumre kan ikke angis for en ikke-sporbar del" @@ -8933,7 +8957,7 @@ msgstr "Velg en tilsvarende leverandørdel for denne lagervaren" msgid "Where is this stock item located?" msgstr "Hvor er denne lagervaren plassert?" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "Inpakningen denne lagervaren er lagret i" @@ -8945,7 +8969,7 @@ msgstr "Er denne artikkelen montert i en annen artikkel?" msgid "Serial number for this item" msgstr "Serienummer for denne artikkelen" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "Batchkode for denne lagervaren" @@ -9054,7 +9078,7 @@ msgstr "Lagervare er for tiden i produksjon" msgid "Serialized stock cannot be merged" msgstr "Serialisert lagerbeholdning kan ikke slås sammen" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "Duplisert lagervare" @@ -9207,7 +9231,7 @@ msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({q})" msgid "Enter serial numbers for new items" msgstr "Angi serienummer for nye artikler" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "Til Lagerplassering" @@ -9280,78 +9304,82 @@ msgstr "Velg lagervarer for å endre status" msgid "No stock items selected" msgstr "Ingen lagervarer valgt" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Underplasseringer" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "Delen må være salgbar" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "Artikkelen er tildelt en salgsordre" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "Artikkelen er tildelt en produksjonsordre" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "Kunde å tilordne lagervarer" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "Valgt firma er ikke en kunde" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "Lagervare-tildelignsnotater" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "En liste av lagervarer må oppgis" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "Notater om lagersammenslåing" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "Tillat forskjellige leverandører" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "Tillat lagervarer med forskjellige leverandørdeler å slås sammen" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "Tillat forskjellig status" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "Tillat lagervarer med forskjellige statuskoder å slås sammen" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "Minst to lagervarer må oppgis" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "Lagervare primærnøkkel verdi" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "Lagervare statuskode" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "Lager transaksjonsnotater" @@ -9822,20 +9850,20 @@ msgstr "Opprett ny lagerplassering" msgid "New Location" msgstr "Ny plassering" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "Skjemafeil eksisterer" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "Tillatelse til å endre elementer" #: users/models.py:404 msgid "Permission to delete items" msgstr "Tillatelse til å slette elementer" + diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index 343bb7bf6c..2393d660c8 100644 --- a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-21 04:59\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -66,8 +66,8 @@ msgstr "Wprowadź dane" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Opis" msgid "Description (optional)" msgstr "Opis (opcjonalny)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "nadrzędny" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "Adres URL zdalnego pliku obrazu" msgid "Downloading images from remote URL is not enabled" msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "Sprawdzenie robotnika w tle nie powiodło się" @@ -772,11 +768,11 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "Kod statusu budowania" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kod partii" @@ -1002,7 +998,7 @@ msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" @@ -1038,7 +1034,7 @@ msgstr "Zbuduj obiekt" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "Wybrana pozycja magazynowa nie pasuje do pozycji w zestawieniu BOM" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "Automatycznie przydzielaj wymagane elementy z pasującymi numerami seryj msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "Poniższe numery seryjne już istnieją lub są nieprawidłowe" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "Element BOM" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "W Zamówieniu" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "W produkcji" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "Pusta domena nie jest dozwolona." -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Niepoprawna nazwa domeny: {domain}" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Firma" @@ -3992,7 +3996,7 @@ msgstr "Wybierz część" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "Wybierz producenta" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "Dostawca" msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "Usuń firmę" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "Obraz części" @@ -4259,7 +4263,7 @@ msgstr "Usuń obraz" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "Ścieżka kategorii" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "IPN komponentu" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "Nadchodzące zlecenie zakupu" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "Ważny" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "Kategoria" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "Domyślna lokalizacja" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Podkategorie" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "Metoda" msgid "No author found" msgstr "Nie znaleziono autora" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "Wynik" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "Zaliczone" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "Niezaliczone" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Zainstalowane elementy" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "Wybierz pasującą część dostawcy dla tego towaru" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Podlokalizacje" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "Nowa lokalizacja" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "Istnieją błędy formularza" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "Uprawnienie do edycji przedmiotów" #: users/models.py:404 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" + diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index 018674343a..8bb188ccf9 100644 --- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,59 +2,59 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-20 04:52\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" -"Language-Team: Portuguese\n" -"Language: pt_PT\n" +"Language-Team: Portuguese, Brazilian\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" -"X-Crowdin-Language: pt-PT\n" +"X-Crowdin-Language: pt-BR\n" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" #: InvenTree/api.py:272 msgid "API endpoint not found" -msgstr "API endpoint não encontrado" +msgstr "" #: InvenTree/api.py:520 msgid "User does not have permission to view this model" -msgstr "Usuário não tem permissão para ver este modelo" +msgstr "" #: InvenTree/conversion.py:160 #, python-brace-format msgid "Invalid unit provided ({unit})" -msgstr "Unidade inválida fornecida ({unit})" +msgstr "" #: InvenTree/conversion.py:177 msgid "No value provided" -msgstr "Nenhum valor fornecido" +msgstr "" #: InvenTree/conversion.py:204 #, python-brace-format msgid "Could not convert {original} to {unit}" -msgstr "Não foi possível converter {original} para {unit}" +msgstr "" #: InvenTree/conversion.py:206 msgid "Invalid quantity supplied" -msgstr "Quantidade fornecida inválida" +msgstr "" #: InvenTree/conversion.py:220 #, python-brace-format msgid "Invalid quantity supplied ({exc})" -msgstr "Quantidade fornecida inválida ({exc})" +msgstr "" #: InvenTree/exceptions.py:109 msgid "Error details can be found in the admin panel" -msgstr "Detalhes do erro podem ser encontrados no painel de administrador" +msgstr "" #: InvenTree/fields.py:136 msgid "Enter date" -msgstr "Insira uma Data" +msgstr "" #: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 #: build/serializers.py:530 build/templates/build/sidebar.html:21 @@ -66,8 +66,8 @@ msgstr "Insira uma Data" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -77,331 +77,331 @@ msgstr "Insira uma Data" #: templates/js/translated/sales_order.js:2018 #: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" -msgstr "Anotações" +msgstr "" #: InvenTree/format.py:164 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" -msgstr "Valor '{name}' não está no formato correto" +msgstr "" #: InvenTree/format.py:175 msgid "Provided value does not match required pattern: " -msgstr "O valor fornecido não corresponde ao padrão exigido: " +msgstr "" #: InvenTree/forms.py:128 msgid "Enter password" -msgstr "Digite a senha" +msgstr "" #: InvenTree/forms.py:129 msgid "Enter new password" -msgstr "Insira uma nova senha" +msgstr "" #: InvenTree/forms.py:138 msgid "Confirm password" -msgstr "Confirmar senha" +msgstr "" #: InvenTree/forms.py:139 msgid "Confirm new password" -msgstr "Confirmar nova senha" +msgstr "" #: InvenTree/forms.py:143 msgid "Old password" -msgstr "Senha atual" +msgstr "" #: InvenTree/forms.py:182 msgid "Email (again)" -msgstr "E-mail (novamente)" +msgstr "" #: InvenTree/forms.py:186 msgid "Email address confirmation" -msgstr "Confirmação do endereço de email" +msgstr "" #: InvenTree/forms.py:209 msgid "You must type the same email each time." -msgstr "Você deve digitar o mesmo e-mail todas as vezes." +msgstr "" #: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." -msgstr "O endereço primário de e-mail não é válido." +msgstr "" #: InvenTree/forms.py:263 msgid "The provided email domain is not approved." -msgstr "O domínio de e-mail providenciado não foi aprovado." +msgstr "" #: InvenTree/forms.py:390 msgid "Registration is disabled." -msgstr "Cadastro está desativado." +msgstr "" #: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 msgid "Invalid quantity provided" -msgstr "Quantidade fornecida inválida" +msgstr "" #: InvenTree/helpers.py:533 msgid "Empty serial number string" -msgstr "Número serial em branco" +msgstr "" #: InvenTree/helpers.py:562 msgid "Duplicate serial" -msgstr "Número de série duplicado" +msgstr "" #: InvenTree/helpers.py:594 InvenTree/helpers.py:637 #, python-brace-format msgid "Invalid group range: {group}" -msgstr "Intervalo de grupo inválido: {group}" +msgstr "" #: InvenTree/helpers.py:625 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" -msgstr "Intervalo do grupo {group} excede a quantidade permitida ({expected_quantity})" +msgstr "" #: InvenTree/helpers.py:655 InvenTree/helpers.py:662 InvenTree/helpers.py:681 #, python-brace-format msgid "Invalid group sequence: {group}" -msgstr "Sequência de grupo inválida:{group}" +msgstr "" #: InvenTree/helpers.py:691 msgid "No serial numbers found" -msgstr "Nenhum número de série foi encontrado" +msgstr "" #: InvenTree/helpers.py:696 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" -msgstr "Números de série únicos ({len(serials)}) deve corresponder a quantidade ({expected_quantity})" +msgstr "" #: InvenTree/helpers.py:814 msgid "Remove HTML tags from this value" -msgstr "Remova as \"tags\" HTML deste valor" +msgstr "" #: InvenTree/helpers_model.py:140 msgid "Connection error" -msgstr "Erro de conexão" +msgstr "" #: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" -msgstr "O servidor respondeu com código estado inválido" +msgstr "" #: InvenTree/helpers_model.py:148 msgid "Exception occurred" -msgstr "Ocorreu uma exceção" +msgstr "" #: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" -msgstr "O servidor respondeu com valor inválido do tamanho de conteúdo" +msgstr "" #: InvenTree/helpers_model.py:161 msgid "Image size is too large" -msgstr "Tamanho da imagem muito grande" +msgstr "" #: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" -msgstr "O download da imagem excedeu o tamanho máximo" +msgstr "" #: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" -msgstr "O servidor remoto retornou resposta vazia" +msgstr "" #: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" -msgstr "A URL fornecida não é um arquivo de imagem válido" +msgstr "" #: InvenTree/locales.py:18 msgid "Bulgarian" -msgstr "Búlgaro" +msgstr "" #: InvenTree/locales.py:19 msgid "Czech" -msgstr "Tcheco" +msgstr "" #: InvenTree/locales.py:20 msgid "Danish" -msgstr "Dinamarquês" +msgstr "" #: InvenTree/locales.py:21 msgid "German" -msgstr "Alemão" +msgstr "" #: InvenTree/locales.py:22 msgid "Greek" -msgstr "Grego" +msgstr "" #: InvenTree/locales.py:23 msgid "English" -msgstr "Inglês" +msgstr "" #: InvenTree/locales.py:24 msgid "Spanish" -msgstr "Espanhol" +msgstr "" #: InvenTree/locales.py:25 msgid "Spanish (Mexican)" -msgstr "Espanhol (Mexicano)" +msgstr "" #: InvenTree/locales.py:26 msgid "Farsi / Persian" -msgstr "Persa" +msgstr "" #: InvenTree/locales.py:27 msgid "Finnish" -msgstr "Finlandês" +msgstr "" #: InvenTree/locales.py:28 msgid "French" -msgstr "Francês" +msgstr "" #: InvenTree/locales.py:29 msgid "Hebrew" -msgstr "Hebraico" +msgstr "" #: InvenTree/locales.py:30 msgid "Hindi" -msgstr "Hindu" +msgstr "" #: InvenTree/locales.py:31 msgid "Hungarian" -msgstr "Húngaro" +msgstr "" #: InvenTree/locales.py:32 msgid "Italian" -msgstr "Italiano" +msgstr "" #: InvenTree/locales.py:33 msgid "Japanese" -msgstr "Japonês" +msgstr "" #: InvenTree/locales.py:34 msgid "Korean" -msgstr "Coreano" +msgstr "" #: InvenTree/locales.py:35 msgid "Latvian" -msgstr "Letão" +msgstr "" #: InvenTree/locales.py:36 msgid "Dutch" -msgstr "Holandês" +msgstr "" #: InvenTree/locales.py:37 msgid "Norwegian" -msgstr "Norueguês" +msgstr "" #: InvenTree/locales.py:38 msgid "Polish" -msgstr "Polonês" +msgstr "" #: InvenTree/locales.py:39 msgid "Portuguese" -msgstr "Português" +msgstr "" #: InvenTree/locales.py:40 msgid "Portuguese (Brazilian)" -msgstr "Português (Brasileiro)" +msgstr "" #: InvenTree/locales.py:41 msgid "Romanian" -msgstr "Romeno" +msgstr "" #: InvenTree/locales.py:42 msgid "Russian" -msgstr "Russo" +msgstr "" #: InvenTree/locales.py:43 msgid "Slovak" -msgstr "Eslovaco" +msgstr "" #: InvenTree/locales.py:44 msgid "Slovenian" -msgstr "Esloveno" +msgstr "" #: InvenTree/locales.py:45 msgid "Serbian" -msgstr "Sérvio" +msgstr "" #: InvenTree/locales.py:46 msgid "Swedish" -msgstr "Sueco" +msgstr "" #: InvenTree/locales.py:47 msgid "Thai" -msgstr "Tailandês" +msgstr "" #: InvenTree/locales.py:48 msgid "Turkish" -msgstr "Turco" +msgstr "" #: InvenTree/locales.py:49 msgid "Ukrainian" -msgstr "Ucraniano" +msgstr "" #: InvenTree/locales.py:50 msgid "Vietnamese" -msgstr "Vietnamita" +msgstr "" #: InvenTree/locales.py:51 msgid "Chinese (Simplified)" -msgstr "Chinês (Simplificado)" +msgstr "" #: InvenTree/locales.py:52 msgid "Chinese (Traditional)" -msgstr "Chinês (Tradicional)" +msgstr "" #: InvenTree/magic_login.py:28 #, python-brace-format msgid "[{site_name}] Log in to the app" -msgstr "[{site_name}] Entre no aplicativo" +msgstr "" #: InvenTree/magic_login.py:38 company/models.py:136 #: company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" -msgstr "Email" +msgstr "" #: InvenTree/models.py:105 msgid "Error running plugin validation" -msgstr "Erro ao executar validação do plugin" +msgstr "" #: InvenTree/models.py:174 msgid "Metadata must be a python dict object" -msgstr "Metadados deve ser um objeto dict python" +msgstr "" #: InvenTree/models.py:180 msgid "Plugin Metadata" -msgstr "Metadados da Extensão" +msgstr "" #: InvenTree/models.py:181 msgid "JSON metadata field, for use by external plugins" -msgstr "Campo de metadados JSON, para uso por extensões externas" +msgstr "" #: InvenTree/models.py:408 msgid "Improperly formatted pattern" -msgstr "Padrão formatado incorretamente" +msgstr "" #: InvenTree/models.py:415 msgid "Unknown format key specified" -msgstr "Chave de formato desconhecida especificada" +msgstr "" #: InvenTree/models.py:421 msgid "Missing required format key" -msgstr "Chave de formato obrigatória ausente" +msgstr "" #: InvenTree/models.py:432 msgid "Reference field cannot be empty" -msgstr "O campo de referência não pode ficar vazio" +msgstr "" #: InvenTree/models.py:440 msgid "Reference must match required pattern" -msgstr "A referência deve corresponder ao padrão exigido" +msgstr "" #: InvenTree/models.py:471 msgid "Reference number is too large" -msgstr "O número de referência é muito grande" +msgstr "" #: InvenTree/models.py:719 msgid "Duplicate names cannot exist under the same parent" -msgstr "Nomes duplicados não podem existir sob o mesmo parental" +msgstr "" #: InvenTree/models.py:736 msgid "Invalid choice" -msgstr "Escolha inválida" +msgstr "" #: InvenTree/models.py:766 common/models.py:2623 common/models.py:3036 #: common/serializers.py:408 company/models.py:580 machine/models.py:24 @@ -421,7 +421,7 @@ msgstr "Escolha inválida" #: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 #: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" -msgstr "Nome" +msgstr "" #: InvenTree/models.py:772 build/models.py:220 #: build/templates/build/detail.html:24 common/models.py:138 @@ -458,216 +458,212 @@ msgstr "Nome" #: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 #: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" -msgstr "Descrição" +msgstr "" #: InvenTree/models.py:773 stock/models.py:80 msgid "Description (optional)" -msgstr "Descrição (opcional)" - -#: InvenTree/models.py:782 -msgid "parent" -msgstr "parente" +msgstr "" #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" -msgstr "Caminho" +msgstr "" #: InvenTree/models.py:918 msgid "Markdown notes (optional)" -msgstr "Notas Markdown (opcional)" +msgstr "" #: InvenTree/models.py:947 msgid "Barcode Data" -msgstr "Dados de código de barras" +msgstr "" #: InvenTree/models.py:948 msgid "Third party barcode data" -msgstr "Dados de código de barras de terceiros" +msgstr "" #: InvenTree/models.py:954 msgid "Barcode Hash" -msgstr "Hash de código de barras" +msgstr "" #: InvenTree/models.py:955 msgid "Unique hash of barcode data" -msgstr "Hash exclusivo de dados de código de barras" +msgstr "" #: InvenTree/models.py:1008 msgid "Existing barcode found" -msgstr "Código de barras existente encontrado" +msgstr "" #: InvenTree/models.py:1051 msgid "Server Error" -msgstr "Erro de servidor" +msgstr "" #: InvenTree/models.py:1052 msgid "An error has been logged by the server." -msgstr "Log de erro salvo pelo servidor." +msgstr "" #: InvenTree/serializers.py:63 part/models.py:4192 msgid "Must be a valid number" -msgstr "Preicsa ser um numero valido" +msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 #: company/templates/company/company_base.html:112 part/models.py:3001 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" -msgstr "Moeda" +msgstr "" #: InvenTree/serializers.py:103 msgid "Select currency from available options" -msgstr "Selecione a Moeda nas opções disponíveis" +msgstr "" #: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." -msgstr "Não tem permissões para alterar este papel do usuário." +msgstr "" #: InvenTree/serializers.py:454 msgid "Only superusers can create new users" -msgstr "Apenas superusuários podem criar novos usuários" +msgstr "" #: InvenTree/serializers.py:473 msgid "Your account has been created." -msgstr "Sua conta foi criada." +msgstr "" #: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" -msgstr "Por favor, use a função de redefinir senha para acessar" +msgstr "" #: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" -msgstr "Bem-vindo(a) ao InvenTree" +msgstr "" #: InvenTree/serializers.py:540 msgid "Invalid value" -msgstr "Valor inválido" +msgstr "" #: InvenTree/serializers.py:560 msgid "Data File" -msgstr "Arquivo de dados" +msgstr "" #: InvenTree/serializers.py:561 msgid "Select data file for upload" -msgstr "Selecione um arquivo de dados para enviar" +msgstr "" #: InvenTree/serializers.py:578 msgid "Unsupported file type" -msgstr "Tipo de arquivo não suportado" +msgstr "" #: InvenTree/serializers.py:584 msgid "File is too large" -msgstr "O arquivo é muito grande" +msgstr "" #: InvenTree/serializers.py:605 msgid "No columns found in file" -msgstr "Nenhuma coluna encontrada no arquivo" +msgstr "" #: InvenTree/serializers.py:608 msgid "No data rows found in file" -msgstr "Nenhuma linha de dados encontrada no arquivo" +msgstr "" #: InvenTree/serializers.py:721 msgid "No data rows provided" -msgstr "Nenhuma linha de dados fornecida" +msgstr "" #: InvenTree/serializers.py:724 msgid "No data columns supplied" -msgstr "Nenhuma coluna de dados fornecida" +msgstr "" #: InvenTree/serializers.py:791 #, python-brace-format msgid "Missing required column: '{name}'" -msgstr "Falta a coluna obrigatória: '{name}'" +msgstr "" #: InvenTree/serializers.py:800 #, python-brace-format msgid "Duplicate column: '{col}'" -msgstr "Coluna duplicada: \"{col}\"" +msgstr "" #: InvenTree/serializers.py:840 msgid "Remote Image" -msgstr "Imagens Remota" +msgstr "" #: InvenTree/serializers.py:841 msgid "URL of remote image file" -msgstr "URL do arquivo de imagem remoto" +msgstr "" #: InvenTree/serializers.py:859 msgid "Downloading images from remote URL is not enabled" -msgstr "Baixar imagens de URL remota não está habilitado" +msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" -msgstr "Falha em verificar o histórico do trabalhador" +msgstr "" #: InvenTree/status.py:70 msgid "Email backend not configured" -msgstr "Serviço de fundo do e-mail não foi configurado" +msgstr "" #: InvenTree/status.py:73 msgid "InvenTree system health checks failed" -msgstr "Verificação de saúde do sistema InvenTree falhou" +msgstr "" #: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" -msgstr "Banco de dados desconhecido" +msgstr "" #: InvenTree/validators.py:32 InvenTree/validators.py:34 msgid "Invalid physical unit" -msgstr "Unidade física inválida" +msgstr "" #: InvenTree/validators.py:40 msgid "Not a valid currency code" -msgstr "Não é um código de moeda válido" +msgstr "" #: InvenTree/validators.py:118 InvenTree/validators.py:134 msgid "Overage value must not be negative" -msgstr "Valor excedente não deve ser negativo" +msgstr "" #: InvenTree/validators.py:136 msgid "Overage must not exceed 100%" -msgstr "Excedente não deve exceder 100%" +msgstr "" #: InvenTree/validators.py:142 msgid "Invalid value for overage" -msgstr "Valor de excedente inválido" +msgstr "" #: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" -msgstr "Editar informações do usuário" +msgstr "" #: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 msgid "Set Password" -msgstr "Definir senha" +msgstr "" #: InvenTree/views.py:434 msgid "Password fields must match" -msgstr "Os campos de senha devem coincidir" +msgstr "" #: InvenTree/views.py:442 msgid "Wrong password provided" -msgstr "Senha incorreta fornecida" +msgstr "" #: InvenTree/views.py:650 templates/navbar.html:160 msgid "System Information" -msgstr "Informação do Sistema" +msgstr "" #: InvenTree/views.py:657 templates/navbar.html:171 msgid "About InvenTree" -msgstr "Sobre o InvenTree" +msgstr "" #: build/api.py:255 msgid "Build must be cancelled before it can be deleted" -msgstr "Produção deve ser cancelada antes de ser deletada" +msgstr "" #: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" -msgstr "Consumível" +msgstr "" #: build/api.py:300 part/models.py:4064 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 @@ -676,19 +672,19 @@ msgstr "Consumível" #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" -msgstr "Opcional" +msgstr "" #: build/api.py:301 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" -msgstr "Monitorado" +msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" -msgstr "Alocado" +msgstr "" #: build/api.py:311 company/models.py:872 company/serializers.py:359 #: company/templates/company/supplier_part.html:114 @@ -702,7 +698,7 @@ msgstr "Alocado" #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" -msgstr "Disponível" +msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 @@ -711,7 +707,7 @@ msgstr "Disponível" #: templates/email/overdue_build_order.html:15 #: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" -msgstr "Ondem de Produção" +msgstr "" #: build/models.py:86 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 @@ -722,23 +718,23 @@ msgstr "Ondem de Produção" #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:186 users/models.py:207 msgid "Build Orders" -msgstr "Ordens de Produções" +msgstr "" #: build/models.py:133 msgid "Invalid choice for parent build" -msgstr "Escolha de Produção parental inválida" +msgstr "" #: build/models.py:144 order/models.py:240 msgid "Responsible user or group must be specified" -msgstr "Usuário ou grupo responsável deve ser especificado" +msgstr "" #: build/models.py:150 msgid "Build order part cannot be changed" -msgstr "Peça da ordem de produção não pode ser alterada" +msgstr "" #: build/models.py:211 msgid "Build Order Reference" -msgstr "Referência do pedido de produção" +msgstr "" #: build/models.py:212 order/models.py:463 order/models.py:926 #: order/models.py:1289 order/models.py:2020 part/admin.py:411 @@ -754,29 +750,29 @@ msgstr "Referência do pedido de produção" #: templates/js/translated/return_order.js:728 #: templates/js/translated/sales_order.js:1854 msgid "Reference" -msgstr "Referência" +msgstr "" #: build/models.py:223 msgid "Brief description of the build (optional)" -msgstr "Breve descrição da produção (opcional)" +msgstr "" #: build/models.py:231 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" -msgstr "Produção Progenitor" +msgstr "" #: build/models.py:232 msgid "BuildOrder to which this build is allocated" -msgstr "Pedido de produção para qual este serviço está alocado" +msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -818,103 +814,103 @@ msgstr "Pedido de produção para qual este serviço está alocado" #: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 #: templates/js/translated/stock.js:3236 msgid "Part" -msgstr "Peça" +msgstr "" #: build/models.py:245 msgid "Select part to build" -msgstr "Selecionar peça para produção" +msgstr "" #: build/models.py:250 msgid "Sales Order Reference" -msgstr "Referência do pedido de venda" +msgstr "" #: build/models.py:254 msgid "SalesOrder to which this build is allocated" -msgstr "Pedido de Venda para qual esta produção está alocada" +msgstr "" #: build/models.py:259 build/serializers.py:999 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" -msgstr "Local de Origem" +msgstr "" #: build/models.py:263 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" -msgstr "Selecione a localização para pegar do estoque para esta produção (deixe em branco para tirar a partir de qualquer local de estoque)" +msgstr "" #: build/models.py:268 msgid "Destination Location" -msgstr "Local de Destino" +msgstr "" #: build/models.py:272 msgid "Select location where the completed items will be stored" -msgstr "Selecione o local onde os itens concluídos serão armazenados" +msgstr "" #: build/models.py:276 msgid "Build Quantity" -msgstr "Quantidade de Produção" +msgstr "" #: build/models.py:279 msgid "Number of stock items to build" -msgstr "Número de itens em estoque para produzir" +msgstr "" #: build/models.py:283 msgid "Completed items" -msgstr "Itens concluídos" +msgstr "" #: build/models.py:285 msgid "Number of stock items which have been completed" -msgstr "Número de itens em estoque concluídos" +msgstr "" #: build/models.py:289 msgid "Build Status" -msgstr "Progresso da produção" +msgstr "" #: build/models.py:293 msgid "Build status code" -msgstr "Código de situação da produção" +msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" -msgstr "Código de Lote" +msgstr "" #: build/models.py:306 build/serializers.py:287 msgid "Batch code for this build output" -msgstr "Código do lote para esta saída de produção" +msgstr "" #: build/models.py:309 order/models.py:316 order/serializers.py:119 #: part/models.py:1115 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" -msgstr "Criado em" +msgstr "" #: build/models.py:313 msgid "Target completion date" -msgstr "Data alvo final" +msgstr "" #: build/models.py:314 msgid "Target date for build completion. Build will be overdue after this date." -msgstr "Data alvo para finalização de produção. Estará atrasado a partir deste dia." +msgstr "" #: build/models.py:317 order/models.py:521 order/models.py:2065 #: templates/js/translated/build.js:2247 msgid "Completion Date" -msgstr "Data de conclusão" +msgstr "" #: build/models.py:323 msgid "completed by" -msgstr "Concluído por" +msgstr "" #: build/models.py:331 templates/js/translated/build.js:2207 msgid "Issued by" -msgstr "Emitido por" +msgstr "" #: build/models.py:332 msgid "User who issued this build order" -msgstr "Usuário que emitiu este pedido de produção" +msgstr "" #: build/models.py:340 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:147 @@ -929,11 +925,11 @@ msgstr "Usuário que emitiu este pedido de produção" #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" -msgstr "Responsável" +msgstr "" #: build/models.py:341 msgid "User or group responsible for this build order" -msgstr "Usuário ou grupo responsável para este pedido de produção" +msgstr "" #: build/models.py:346 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -945,20 +941,20 @@ msgstr "Usuário ou grupo responsável para este pedido de produção" #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" -msgstr "Link Externo" +msgstr "" #: build/models.py:347 common/models.py:3178 part/models.py:956 #: stock/models.py:834 msgid "Link to external URL" -msgstr "Link para URL externa" +msgstr "" #: build/models.py:351 msgid "Build Priority" -msgstr "Prioridade de Produção" +msgstr "" #: build/models.py:354 msgid "Priority of this build order" -msgstr "Prioridade deste pedido de produção" +msgstr "" #: build/models.py:361 common/models.py:131 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 @@ -969,60 +965,60 @@ msgstr "Prioridade deste pedido de produção" #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" -msgstr "Código do projeto" +msgstr "" #: build/models.py:362 msgid "Project code for this build order" -msgstr "Código do projeto para este pedido de produção" +msgstr "" #: build/models.py:595 build/models.py:660 msgid "Failed to offload task to complete build allocations" -msgstr "Falha ao descarregar tarefa para concluir alocações de construção" +msgstr "" #: build/models.py:617 #, python-brace-format msgid "Build order {build} has been completed" -msgstr "O Pedido de produção {build} foi concluído!" +msgstr "" #: build/models.py:623 msgid "A build order has been completed" -msgstr "Um pedido de produção foi concluído" +msgstr "" #: build/models.py:849 build/models.py:934 msgid "No build output specified" -msgstr "Nenhuma saída de produção especificada" +msgstr "" #: build/models.py:852 msgid "Build output is already completed" -msgstr "Saída de produção já completada" +msgstr "" #: build/models.py:855 msgid "Build output does not match Build Order" -msgstr "Saída da produção não corresponde ao Pedido de Produção" +msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" -msgstr "Quantidade deve ser maior que zero" +msgstr "" #: build/models.py:943 build/serializers.py:224 msgid "Quantity cannot be greater than the output quantity" -msgstr "Quantidade não pode ser maior do que a quantidade de saída" +msgstr "" #: build/models.py:1003 build/serializers.py:547 #, python-brace-format msgid "Build output {serial} has not passed all required tests" -msgstr "O item de produção {serial} não passou todos os testes necessários" +msgstr "" #: build/models.py:1344 msgid "Build Order Line Item" -msgstr "Item da linha de Produção" +msgstr "" #: build/models.py:1369 msgid "Build object" -msgstr "Objeto de produção" +msgstr "" #: build/models.py:1383 build/models.py:1639 build/serializers.py:206 #: build/serializers.py:253 build/templates/build/build_base.html:102 @@ -1038,7 +1034,7 @@ msgstr "Objeto de produção" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1069,40 +1065,40 @@ msgstr "Objeto de produção" #: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 #: templates/js/translated/stock.js:3104 msgid "Quantity" -msgstr "Quantidade" +msgstr "" #: build/models.py:1384 msgid "Required quantity for build order" -msgstr "Quantidade necessária para o pedido de produção" +msgstr "" #: build/models.py:1464 msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "Item de produção deve especificar a saída, pois peças mestres estão marcadas como rastreáveis" +msgstr "" #: build/models.py:1473 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})" +msgstr "" #: build/models.py:1483 order/models.py:1882 msgid "Stock item is over-allocated" -msgstr "O item do estoque está sobre-alocado" +msgstr "" #: build/models.py:1489 order/models.py:1885 msgid "Allocation quantity must be greater than zero" -msgstr "Quantidade alocada deve ser maior que zero" +msgstr "" #: build/models.py:1495 msgid "Quantity must be 1 for serialized stock" -msgstr "Quantidade deve ser 1 para estoque serializado" +msgstr "" #: build/models.py:1554 msgid "Selected stock item does not match BOM line" -msgstr "Item estoque selecionado não coincide com linha da LDM" +msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1116,72 +1112,72 @@ msgstr "Item estoque selecionado não coincide com linha da LDM" #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 #: templates/js/translated/stock.js:2977 msgid "Stock Item" -msgstr "Item de estoque" +msgstr "" #: build/models.py:1627 msgid "Source stock item" -msgstr "Origem do item em estoque" +msgstr "" #: build/models.py:1640 msgid "Stock quantity to allocate to build" -msgstr "Quantidade do estoque para alocar à produção" +msgstr "" #: build/models.py:1648 msgid "Install into" -msgstr "Instalar em" +msgstr "" #: build/models.py:1649 msgid "Destination stock item" -msgstr "Destino do Item do Estoque" +msgstr "" #: build/serializers.py:156 build/serializers.py:875 #: templates/js/translated/build.js:1322 msgid "Build Output" -msgstr "Saída da Produção" +msgstr "" #: build/serializers.py:168 msgid "Build output does not match the parent build" -msgstr "Saída de produção não coincide com a produção progenitora" +msgstr "" #: build/serializers.py:172 msgid "Output part does not match BuildOrder part" -msgstr "Peça de saída não coincide com a peça da ordem de produção" +msgstr "" #: build/serializers.py:176 msgid "This build output has already been completed" -msgstr "Esta saída de produção já foi concluída" +msgstr "" #: build/serializers.py:187 msgid "This build output is not fully allocated" -msgstr "A saída de produção não está completamente alocada" +msgstr "" #: build/serializers.py:207 build/serializers.py:254 msgid "Enter quantity for build output" -msgstr "Entre a quantidade da saída de produção" +msgstr "" #: build/serializers.py:275 msgid "Integer quantity required for trackable parts" -msgstr "Quantidade inteira necessária para peças rastreáveis" +msgstr "" #: build/serializers.py:278 msgid "Integer quantity required, as the bill of materials contains trackable parts" -msgstr "Quantidade inteira necessária, pois a lista de materiais contém peças rastreáveis" +msgstr "" #: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 #: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" -msgstr "Números de Série" +msgstr "" #: build/serializers.py:294 msgid "Enter serial numbers for build outputs" -msgstr "Digite os números de série para saídas de produção" +msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1195,56 +1191,56 @@ msgstr "Digite os números de série para saídas de produção" #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 #: templates/js/translated/stock.js:2871 msgid "Location" -msgstr "Local" +msgstr "" #: build/serializers.py:300 msgid "Stock location for build output" -msgstr "Local de estoque para a produção" +msgstr "" #: build/serializers.py:314 msgid "Auto Allocate Serial Numbers" -msgstr "Alocar Números de Série Automaticamente" +msgstr "" #: build/serializers.py:315 msgid "Automatically allocate required items with matching serial numbers" -msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" +msgstr "" #: build/serializers.py:330 msgid "Serial numbers must be provided for trackable parts" -msgstr "Números de série devem ser fornecidos para peças rastreáveis" +msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" -msgstr "Os seguintes números de série já existem ou são inválidos" +msgstr "" #: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 msgid "A list of build outputs must be provided" -msgstr "Uma lista de saídas de produção deve ser fornecida" +msgstr "" #: build/serializers.py:441 msgid "Stock location for scrapped outputs" -msgstr "Local de estoque para saídas recicladas" +msgstr "" #: build/serializers.py:447 msgid "Discard Allocations" -msgstr "Descartar alocações" +msgstr "" #: build/serializers.py:448 msgid "Discard any stock allocations for scrapped outputs" -msgstr "Descartar quaisquer alocações de estoque para saídas sucateadas" +msgstr "" #: build/serializers.py:453 msgid "Reason for scrapping build output(s)" -msgstr "Motivo para sucatear saída(s) de produção" +msgstr "" #: build/serializers.py:513 msgid "Location for completed build outputs" -msgstr "Local para saídas de produção concluídas" +msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1254,233 +1250,233 @@ msgstr "Local para saídas de produção concluídas" #: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 #: templates/js/translated/stock.js:3120 msgid "Status" -msgstr "Situação" +msgstr "" #: build/serializers.py:525 msgid "Accept Incomplete Allocation" -msgstr "Aceitar Alocação Incompleta" +msgstr "" #: build/serializers.py:526 msgid "Complete outputs if stock has not been fully allocated" -msgstr "Concluir saídas se o estoque não tiver sido totalmente alocado" +msgstr "" #: build/serializers.py:611 msgid "Consume Allocated Stock" -msgstr "Consumir Estoque Alocado" +msgstr "" #: build/serializers.py:612 msgid "Consume any stock which has already been allocated to this build" -msgstr "Consumir qualquer estoque que já tenha sido alocado para esta produção" +msgstr "" #: build/serializers.py:618 msgid "Remove Incomplete Outputs" -msgstr "Remover Saídas Incompletas" +msgstr "" #: build/serializers.py:619 msgid "Delete any build outputs which have not been completed" -msgstr "Excluir quaisquer saídas de produção que não tenham sido completadas" +msgstr "" #: build/serializers.py:646 msgid "Not permitted" -msgstr "Não permitido" +msgstr "" #: build/serializers.py:647 msgid "Accept as consumed by this build order" -msgstr "Aceitar conforme consumido por esta ordem de produção" +msgstr "" #: build/serializers.py:648 msgid "Deallocate before completing this build order" -msgstr "Desatribua antes de completar este pedido de produção" +msgstr "" #: build/serializers.py:678 msgid "Overallocated Stock" -msgstr "Estoque sobrealocado" +msgstr "" #: build/serializers.py:680 msgid "How do you want to handle extra stock items assigned to the build order" -msgstr "Como deseja manejar itens de estoque extras atribuídos ao pedido de produção" +msgstr "" #: build/serializers.py:690 msgid "Some stock items have been overallocated" -msgstr "Alguns itens de estoque foram sobrealocados" +msgstr "" #: build/serializers.py:695 msgid "Accept Unallocated" -msgstr "Aceitar não alocados" +msgstr "" #: build/serializers.py:696 msgid "Accept that stock items have not been fully allocated to this build order" -msgstr "Aceitar que os itens de estoque não foram totalmente alocados para esta produção" +msgstr "" #: build/serializers.py:706 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" -msgstr "Estoque obrigatório não foi totalmente alocado" +msgstr "" #: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 msgid "Accept Incomplete" -msgstr "Aceitar Incompleto" +msgstr "" #: build/serializers.py:712 msgid "Accept that the required number of build outputs have not been completed" -msgstr "Aceitar que o número requerido de saídas de produção não foi concluído" +msgstr "" #: build/serializers.py:722 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" -msgstr "Quantidade de produção requerida não foi concluída" +msgstr "" #: build/serializers.py:731 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" -msgstr "Pedido de produção tem saídas incompletas" +msgstr "" #: build/serializers.py:769 msgid "Build Line" -msgstr "Linha de produção" +msgstr "" #: build/serializers.py:779 msgid "Build output" -msgstr "Saída da Produção" +msgstr "" #: build/serializers.py:787 msgid "Build output must point to the same build" -msgstr "Saída de produção deve indicar a mesma produção" +msgstr "" #: build/serializers.py:823 msgid "Build Line Item" -msgstr "Item da linha de produção" +msgstr "" #: build/serializers.py:837 msgid "bom_item.part must point to the same part as the build order" -msgstr "bin_item.part deve indicar a mesma peça do pedido de produção" +msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" -msgstr "Item deve estar em estoque" +msgstr "" #: build/serializers.py:900 order/serializers.py:1225 #, python-brace-format msgid "Available quantity ({q}) exceeded" -msgstr "Quantidade disponível ({q}) excedida" +msgstr "" #: build/serializers.py:906 msgid "Build output must be specified for allocation of tracked parts" -msgstr "Saída de produção deve ser definida para alocação de peças rastreadas" +msgstr "" #: build/serializers.py:913 msgid "Build output cannot be specified for allocation of untracked parts" -msgstr "Saída de produção deve ser definida para alocação de peças não rastreadas" +msgstr "" #: build/serializers.py:937 order/serializers.py:1477 msgid "Allocation items must be provided" -msgstr "Alocação do Item precisa ser fornecida" +msgstr "" #: build/serializers.py:1000 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" -msgstr "Local de estoque onde peças serão extraídas (deixar em branco para qualquer local)" +msgstr "" #: build/serializers.py:1008 msgid "Exclude Location" -msgstr "Local não incluso" +msgstr "" #: build/serializers.py:1009 msgid "Exclude stock items from this selected location" -msgstr "Não incluir itens de estoque deste local" +msgstr "" #: build/serializers.py:1014 msgid "Interchangeable Stock" -msgstr "Estoque permutável" +msgstr "" #: build/serializers.py:1015 msgid "Stock items in multiple locations can be used interchangeably" -msgstr "Itens de estoque em múltiplos locais pode ser permutável" +msgstr "" #: build/serializers.py:1020 msgid "Substitute Stock" -msgstr "Substituir Estoque" +msgstr "" #: build/serializers.py:1021 msgid "Allow allocation of substitute parts" -msgstr "Permitir alocação de peças substitutas" +msgstr "" #: build/serializers.py:1026 msgid "Optional Items" -msgstr "Itens opcionais" +msgstr "" #: build/serializers.py:1027 msgid "Allocate optional BOM items to build order" -msgstr "Alocar itens LDM opcionais para o pedido de produção" +msgstr "" #: build/serializers.py:1049 msgid "Failed to start auto-allocation task" -msgstr "Falha ao iniciar tarefa de auto-alocação" +msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" -msgstr "Item LDM" +msgstr "" #: build/serializers.py:1148 templates/js/translated/index.js:130 msgid "Allocated Stock" -msgstr "Estoque Alocado" +msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" -msgstr "No pedido" +msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" -msgstr "Em Produção" +msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" -msgstr "Estoque Disponível" +msgstr "" #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 msgid "Pending" -msgstr "Pendente" +msgstr "" #: build/status_codes.py:12 msgid "Production" -msgstr "Produção" +msgstr "" #: build/status_codes.py:13 order/status_codes.py:15 order/status_codes.py:45 #: order/status_codes.py:70 msgid "Cancelled" -msgstr "Cancelado" +msgstr "" #: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" -msgstr "Completado" +msgstr "" #: build/tasks.py:184 msgid "Stock required for build order" -msgstr "Estoque obrigatório para o pedido de produção" +msgstr "" #: build/tasks.py:201 msgid "Overdue Build Order" -msgstr "Pedido de produção vencido" +msgstr "" #: build/tasks.py:206 #, python-brace-format msgid "Build order {bo} is now overdue" -msgstr "Pedido de produção {bo} está atrasada" +msgstr "" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "Miniatura da parte" +msgstr "" #: build/templates/build/build_base.html:38 #: company/templates/company/supplier_part.html:35 @@ -1492,7 +1488,7 @@ msgstr "Miniatura da parte" #: stock/templates/stock/location.html:55 #: templates/js/translated/filters.js:335 msgid "Barcode actions" -msgstr "Ações de código de barras" +msgstr "" #: build/templates/build/build_base.html:42 #: company/templates/company/supplier_part.html:39 @@ -1503,7 +1499,7 @@ msgstr "Ações de código de barras" #: stock/templates/stock/item_base.html:44 #: stock/templates/stock/location.html:57 templates/qr_button.html:1 msgid "Show QR Code" -msgstr "Mostrar QR Code" +msgstr "" #: build/templates/build/build_base.html:45 #: company/templates/company/supplier_part.html:41 @@ -1516,7 +1512,7 @@ msgstr "Mostrar QR Code" #: templates/js/translated/barcode.js:496 #: templates/js/translated/barcode.js:501 msgid "Unlink Barcode" -msgstr "Desatribuir Código de Barras" +msgstr "" #: build/templates/build/build_base.html:47 #: company/templates/company/supplier_part.html:43 @@ -1527,67 +1523,67 @@ msgstr "Desatribuir Código de Barras" #: stock/templates/stock/item_base.html:49 #: stock/templates/stock/location.html:61 msgid "Link Barcode" -msgstr "Atribuir Código de Barras" +msgstr "" #: build/templates/build/build_base.html:56 #: order/templates/order/order_base.html:46 #: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:55 msgid "Print actions" -msgstr "Ações de impressão" +msgstr "" #: build/templates/build/build_base.html:60 msgid "Print build order report" -msgstr "Imprimir relatório do pedido de produção" +msgstr "" #: build/templates/build/build_base.html:67 msgid "Build actions" -msgstr "Ações de produção" +msgstr "" #: build/templates/build/build_base.html:71 msgid "Edit Build" -msgstr "Editar produção" +msgstr "" #: build/templates/build/build_base.html:73 msgid "Cancel Build" -msgstr "Cancelar produção" +msgstr "" #: build/templates/build/build_base.html:76 msgid "Duplicate Build" -msgstr "Duplicar produção" +msgstr "" #: build/templates/build/build_base.html:79 msgid "Delete Build" -msgstr "Excluir produção" +msgstr "" #: build/templates/build/build_base.html:84 #: build/templates/build/build_base.html:85 msgid "Complete Build" -msgstr "Concluir produção" +msgstr "" #: build/templates/build/build_base.html:107 msgid "Build Description" -msgstr "Descrição da produção" +msgstr "" #: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" -msgstr "Nenhuma saída de produção foi criada para este pedido de produção" +msgstr "" #: build/templates/build/build_base.html:124 msgid "Build Order is ready to mark as completed" -msgstr "Pedido de produção está pronta para ser marcada como concluída" +msgstr "" #: build/templates/build/build_base.html:129 msgid "Build Order cannot be completed as outstanding outputs remain" -msgstr "Pedido de produção não pode ser concluída, os resultados pendentes permanecem" +msgstr "" #: build/templates/build/build_base.html:134 msgid "Required build quantity has not yet been completed" -msgstr "A quantidade de produção necessária ainda não foi concluída" +msgstr "" #: build/templates/build/build_base.html:139 msgid "Stock has not been fully allocated to this Build Order" -msgstr "Estoque não foi totalmente alocado para este Pedido de Produção" +msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 @@ -1603,12 +1599,12 @@ msgstr "Estoque não foi totalmente alocado para este Pedido de Produção" #: templates/js/translated/sales_order.js:871 #: templates/js/translated/sales_order.js:1903 msgid "Target Date" -msgstr "Data alvo" +msgstr "" #: build/templates/build/build_base.html:165 #, python-format msgid "This build was due on %(target)s" -msgstr "Essa produção expirou em %(target)s" +msgstr "" #: build/templates/build/build_base.html:165 #: build/templates/build/build_base.html:222 @@ -1620,12 +1616,12 @@ msgstr "Essa produção expirou em %(target)s" #: templates/js/translated/table_filters.js:626 #: templates/js/translated/table_filters.js:667 msgid "Overdue" -msgstr "Expirou" +msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 msgid "Completed Outputs" -msgstr "Saídas Concluídas" +msgstr "" #: build/templates/build/build_base.html:190 #: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 @@ -1641,56 +1637,56 @@ msgstr "Saídas Concluídas" #: templates/js/translated/sales_order.js:1028 #: templates/js/translated/stock.js:2924 msgid "Sales Order" -msgstr "Pedido de Venda" +msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" -msgstr "Emitido por" +msgstr "" #: build/templates/build/build_base.html:211 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2156 msgid "Priority" -msgstr "Prioridade" +msgstr "" #: build/templates/build/build_base.html:269 msgid "Delete Build Order" -msgstr "Excluir Pedido de Produção" +msgstr "" #: build/templates/build/build_base.html:279 msgid "Build Order QR Code" -msgstr "QR Code do Pedido de Produção" +msgstr "" #: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" -msgstr "Vincular código de barras ao Pedido de Produção" +msgstr "" #: build/templates/build/detail.html:15 msgid "Build Details" -msgstr "Detalhes da produção" +msgstr "" #: build/templates/build/detail.html:38 msgid "Stock Source" -msgstr "Origem do estoque" +msgstr "" #: build/templates/build/detail.html:43 msgid "Stock can be taken from any available location." -msgstr "O estoque pode ser tirado de qualquer local disponível." +msgstr "" #: build/templates/build/detail.html:49 order/models.py:1443 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" -msgstr "Destino" +msgstr "" #: build/templates/build/detail.html:56 msgid "Destination location not specified" -msgstr "Loca de destino não especificado" +msgstr "" #: build/templates/build/detail.html:73 msgid "Allocated Parts" -msgstr "Peças alocadas" +msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:162 #: stock/templates/stock/item_base.html:162 @@ -1702,7 +1698,7 @@ msgstr "Peças alocadas" #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" -msgstr "Lote" +msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 @@ -1710,86 +1706,86 @@ msgstr "Lote" #: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" -msgstr "Criado" +msgstr "" #: build/templates/build/detail.html:144 msgid "No target date set" -msgstr "Sem data alvo definida" +msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" -msgstr "Concluído" +msgstr "" #: build/templates/build/detail.html:153 msgid "Build not complete" -msgstr "Produção não concluída" +msgstr "" #: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" -msgstr "Pedido de Produção Filho" +msgstr "" #: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" -msgstr "Alocar Estoque para Produção" +msgstr "" #: build/templates/build/detail.html:181 msgid "Deallocate stock" -msgstr "Desalocar estoque" +msgstr "" #: build/templates/build/detail.html:182 msgid "Deallocate Stock" -msgstr "Desalocar estoque" +msgstr "" #: build/templates/build/detail.html:184 msgid "Automatically allocate stock to build" -msgstr "Alocar o estoque para produção automaticamente" +msgstr "" #: build/templates/build/detail.html:185 msgid "Auto Allocate" -msgstr "Alocar automaticamente" +msgstr "" #: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" -msgstr "Alocar estoque para a produção manualmente" +msgstr "" #: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" -msgstr "Alocar estoque" +msgstr "" #: build/templates/build/detail.html:191 msgid "Order required parts" -msgstr "Pedir peças necessárias" +msgstr "" #: build/templates/build/detail.html:192 #: templates/js/translated/purchase_order.js:795 msgid "Order Parts" -msgstr "Pedir Peças" +msgstr "" #: build/templates/build/detail.html:205 msgid "Available stock has been filtered based on specified source location for this build order" -msgstr "O estoque disponível foi filtrado com base no local de origem especificado para este pedido de produção" +msgstr "" #: build/templates/build/detail.html:215 msgid "Incomplete Build Outputs" -msgstr "Saída de Produção Incompletas" +msgstr "" #: build/templates/build/detail.html:219 msgid "Create new build output" -msgstr "Criar nova saída de produção" +msgstr "" #: build/templates/build/detail.html:220 msgid "New Build Output" -msgstr "Nova saída de produção" +msgstr "" #: build/templates/build/detail.html:237 build/templates/build/sidebar.html:15 msgid "Consumed Stock" -msgstr "Consumir estoque" +msgstr "" #: build/templates/build/detail.html:249 msgid "Completed Build Outputs" -msgstr "Saídas de Produção concluídas" +msgstr "" #: build/templates/build/detail.html:261 build/templates/build/sidebar.html:19 #: company/templates/company/detail.html:229 @@ -1805,436 +1801,436 @@ msgstr "Saídas de Produção concluídas" #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" -msgstr "Anexos" +msgstr "" #: build/templates/build/detail.html:276 msgid "Build Notes" -msgstr "Notas de produção" +msgstr "" #: build/templates/build/detail.html:426 msgid "Allocation Complete" -msgstr "Alocação Completa" +msgstr "" #: build/templates/build/detail.html:427 msgid "All lines have been fully allocated" -msgstr "Todas as linhas foram totalmente alocadas" +msgstr "" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" -msgstr "Novo Pedido de Produção" +msgstr "" #: build/templates/build/sidebar.html:5 msgid "Build Order Details" -msgstr "Detalhes do Pedido de Produção" +msgstr "" #: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" -msgstr "Saídas Incompletas" +msgstr "" #: common/api.py:689 msgid "Is Link" -msgstr "É uma Ligação" +msgstr "" #: common/api.py:697 msgid "Is File" -msgstr "É um arquivo" +msgstr "" #: common/api.py:739 msgid "User does not have permission to delete this attachment" -msgstr "O Utilizador não tem permissão para remover este anexo" +msgstr "" #: common/currency.py:130 msgid "Invalid currency code" -msgstr "Código da Moeda invalida" +msgstr "" #: common/currency.py:132 msgid "Duplicate currency code" -msgstr "Código da Moeda duplicada" +msgstr "" #: common/currency.py:137 msgid "No valid currency codes provided" -msgstr "Nenhum código de moeda válido foi fornecido" +msgstr "" #: common/currency.py:154 msgid "No plugin" -msgstr "Sem extensão" +msgstr "" #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" -msgstr "Formato de arquivo não suportado: {fmt}" +msgstr "" #: common/files.py:65 msgid "Error reading file (invalid encoding)" -msgstr "Erro ao ler arquivo (codificação inválida)" +msgstr "" #: common/files.py:70 msgid "Error reading file (invalid format)" -msgstr "Erro ao ler arquivo (formato inválido)" +msgstr "" #: common/files.py:72 msgid "Error reading file (incorrect dimension)" -msgstr "Erro ao ler o arquivo (dimensão incorreta)" +msgstr "" #: common/files.py:74 msgid "Error reading file (data could be corrupted)" -msgstr "Erro ao ler o arquivo (dados podem estar corrompidos)" +msgstr "" #: common/forms.py:12 msgid "File" -msgstr "Arquivo" +msgstr "" #: common/forms.py:12 msgid "Select file to upload" -msgstr "Selecione um arquivo para carregar" +msgstr "" #: common/forms.py:25 msgid "{name.title()} File" -msgstr "Arquivo {name.title()}" +msgstr "" #: common/forms.py:26 #, python-brace-format msgid "Select {name} file to upload" -msgstr "Selecione {name} arquivo para carregar" +msgstr "" #: common/models.py:73 msgid "Updated" -msgstr "Atualizado" +msgstr "" #: common/models.py:74 msgid "Timestamp of last update" -msgstr "Tempo da última atualização" +msgstr "" #: common/models.py:107 msgid "Site URL is locked by configuration" -msgstr "URL do site está bloqueada por configuração" +msgstr "" #: common/models.py:132 msgid "Unique project code" -msgstr "Código único do projeto" +msgstr "" #: common/models.py:139 msgid "Project description" -msgstr "Descrição do projeto" +msgstr "" #: common/models.py:148 msgid "User or group responsible for this project" -msgstr "Usuário ou grupo responsável por este projeto" +msgstr "" #: common/models.py:765 msgid "Settings key (must be unique - case insensitive)" -msgstr "Senha de configurações (deve ser única — diferencia maiúsculas de minúsculas)" +msgstr "" #: common/models.py:769 msgid "Settings value" -msgstr "Valor da Configuração" +msgstr "" #: common/models.py:821 msgid "Chosen value is not a valid option" -msgstr "Valor escolhido não é uma opção válida" +msgstr "" #: common/models.py:837 msgid "Value must be a boolean value" -msgstr "Valor deve ser um valor booleano" +msgstr "" #: common/models.py:845 msgid "Value must be an integer value" -msgstr "Valor deve ser um número inteiro" +msgstr "" #: common/models.py:882 msgid "Key string must be unique" -msgstr "A frase senha deve ser diferenciada" +msgstr "" #: common/models.py:1114 msgid "No group" -msgstr "Nenhum grupo" +msgstr "" #: common/models.py:1213 msgid "Restart required" -msgstr "Reinicialização necessária" +msgstr "" #: common/models.py:1215 msgid "A setting has been changed which requires a server restart" -msgstr "Uma configuração que requer uma reinicialização do servidor foi alterada" +msgstr "" #: common/models.py:1222 msgid "Pending migrations" -msgstr "Migrações pendentes" +msgstr "" #: common/models.py:1223 msgid "Number of pending database migrations" -msgstr "Número de migrações pendentes na base de dados" +msgstr "" #: common/models.py:1228 msgid "Server Instance Name" -msgstr "Nome da Instância do Servidor" +msgstr "" #: common/models.py:1230 msgid "String descriptor for the server instance" -msgstr "Descritor de frases para a instância do servidor" +msgstr "" #: common/models.py:1234 msgid "Use instance name" -msgstr "Usar nome da instância" +msgstr "" #: common/models.py:1235 msgid "Use the instance name in the title-bar" -msgstr "Usar o nome da instância na barra de título" +msgstr "" #: common/models.py:1240 msgid "Restrict showing `about`" -msgstr "Restringir a exibição 'sobre'" +msgstr "" #: common/models.py:1241 msgid "Show the `about` modal only to superusers" -msgstr "Mostrar 'sobre' modal apenas para superusuários" +msgstr "" #: common/models.py:1246 company/models.py:111 company/models.py:112 msgid "Company name" -msgstr "Nome da empresa" +msgstr "" #: common/models.py:1247 msgid "Internal company name" -msgstr "Nome interno da Empresa" +msgstr "" #: common/models.py:1251 msgid "Base URL" -msgstr "URL de Base" +msgstr "" #: common/models.py:1252 msgid "Base URL for server instance" -msgstr "URL Base da instância do servidor" +msgstr "" #: common/models.py:1258 msgid "Default Currency" -msgstr "Moeda Padrão" +msgstr "" #: common/models.py:1259 msgid "Select base currency for pricing calculations" -msgstr "Selecione a moeda base para cálculos de preços" +msgstr "" #: common/models.py:1265 msgid "Supported Currencies" -msgstr "Moedas suportadas" +msgstr "" #: common/models.py:1266 msgid "List of supported currency codes" -msgstr "Lista de códigos de moeda suportados" +msgstr "" #: common/models.py:1272 msgid "Currency Update Interval" -msgstr "Intervalo de Atualização da Moeda" +msgstr "" #: common/models.py:1274 msgid "How often to update exchange rates (set to zero to disable)" -msgstr "Com que frequência atualizar as taxas de câmbio (defina como zero para desativar)" +msgstr "" #: common/models.py:1277 common/models.py:1333 common/models.py:1346 #: common/models.py:1354 common/models.py:1363 common/models.py:1372 #: common/models.py:1590 common/models.py:1612 common/models.py:1727 #: common/models.py:2046 msgid "days" -msgstr "dias" +msgstr "" #: common/models.py:1281 msgid "Currency Update Plugin" -msgstr "Extensão de Atualização de Moeda" +msgstr "" #: common/models.py:1282 msgid "Currency update plugin to use" -msgstr "Extensão de Atualização de Moeda a utilizar" +msgstr "" #: common/models.py:1287 msgid "Download from URL" -msgstr "Baixar do URL" +msgstr "" #: common/models.py:1289 msgid "Allow download of remote images and files from external URL" -msgstr "Permitir baixar imagens remotas e arquivos de URLs externos" +msgstr "" #: common/models.py:1295 msgid "Download Size Limit" -msgstr "Limite de tamanho para baixar" +msgstr "" #: common/models.py:1296 msgid "Maximum allowable download size for remote image" -msgstr "Maior tamanho de imagem remota baixada permitida" +msgstr "" #: common/models.py:1302 msgid "User-agent used to download from URL" -msgstr "Usuário-agente utilizado para baixar da URL" +msgstr "" #: common/models.py:1304 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" -msgstr "Permitir a substituição de imagens e arquivos usados baixados por usuário-agente (deixar em branco por padrão)" +msgstr "" #: common/models.py:1309 msgid "Strict URL Validation" -msgstr "Validação rigorosa de URL" +msgstr "" #: common/models.py:1310 msgid "Require schema specification when validating URLs" -msgstr "Exigir especificação de esquema ao validar URLs" +msgstr "" #: common/models.py:1315 msgid "Require confirm" -msgstr "Exigir confirmação" +msgstr "" #: common/models.py:1316 msgid "Require explicit user confirmation for certain action." -msgstr "Exigir confirmação explícita do usuário para uma certa ação." +msgstr "" #: common/models.py:1321 msgid "Tree Depth" -msgstr "Profundidade da árvore" +msgstr "" #: common/models.py:1323 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." -msgstr "Profundidade padrão de visualização da árvore. Níveis mais profundos podem ser carregados gradualmente conforme necessário." +msgstr "" #: common/models.py:1329 msgid "Update Check Interval" -msgstr "Atualizar Intervalo de Verificação" +msgstr "" #: common/models.py:1330 msgid "How often to check for updates (set to zero to disable)" -msgstr "Frequência para verificar atualizações (defina como zero para desativar)" +msgstr "" #: common/models.py:1336 msgid "Automatic Backup" -msgstr "Cópia de Segurança Automática" +msgstr "" #: common/models.py:1337 msgid "Enable automatic backup of database and media files" -msgstr "Ativar cópia de segurança automática do banco de dados e arquivos de mídia" +msgstr "" #: common/models.py:1342 msgid "Auto Backup Interval" -msgstr "Intervalo de Backup Automático" +msgstr "" #: common/models.py:1343 msgid "Specify number of days between automated backup events" -msgstr "Especificar o número de dia entre as cópias de segurança" +msgstr "" #: common/models.py:1349 msgid "Task Deletion Interval" -msgstr "Intervalo para Excluir da Tarefa" +msgstr "" #: common/models.py:1351 msgid "Background task results will be deleted after specified number of days" -msgstr "Os resultados da tarefa no plano de fundo serão excluídos após um número especificado de dias" +msgstr "" #: common/models.py:1358 msgid "Error Log Deletion Interval" -msgstr "Intervalo para Excluir do Registro de Erro" +msgstr "" #: common/models.py:1360 msgid "Error logs will be deleted after specified number of days" -msgstr "Registros de erros serão excluídos após um número especificado de dias" +msgstr "" #: common/models.py:1367 msgid "Notification Deletion Interval" -msgstr "Intervalo para Excluir de Notificação" +msgstr "" #: common/models.py:1369 msgid "User notifications will be deleted after specified number of days" -msgstr "Notificações de usuários será excluído após um número especificado de dias" +msgstr "" #: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" -msgstr "Suporte aos códigos de barras" +msgstr "" #: common/models.py:1377 msgid "Enable barcode scanner support in the web interface" -msgstr "Ativar suporte a leitor de código de barras na interface web" +msgstr "" #: common/models.py:1382 msgid "Barcode Input Delay" -msgstr "Atraso na entrada de código de barras" +msgstr "" #: common/models.py:1383 msgid "Barcode input processing delay time" -msgstr "Tempo de atraso de processamento de entrada de barras" +msgstr "" #: common/models.py:1389 msgid "Barcode Webcam Support" -msgstr "Suporte a código de barras via Câmera" +msgstr "" #: common/models.py:1390 msgid "Allow barcode scanning via webcam in browser" -msgstr "Permitir escanear código de barras por câmera pelo navegador" +msgstr "" #: common/models.py:1395 msgid "Part Revisions" -msgstr "Revisões de peças" +msgstr "" #: common/models.py:1396 msgid "Enable revision field for Part" -msgstr "Habilitar campo de revisão para a Peça" +msgstr "" #: common/models.py:1401 msgid "Allow Deletion from Assembly" -msgstr "Permitir a exclusão da Montagem" +msgstr "" #: common/models.py:1402 msgid "Allow deletion of parts which are used in an assembly" -msgstr "Permitir a remoção de peças usadas em uma montagem" +msgstr "" #: common/models.py:1407 msgid "IPN Regex" -msgstr "Regex IPN" +msgstr "" #: common/models.py:1408 msgid "Regular expression pattern for matching Part IPN" -msgstr "Padrão de expressão regular adequado para Peça IPN" +msgstr "" #: common/models.py:1411 msgid "Allow Duplicate IPN" -msgstr "Permitir Duplicação IPN" +msgstr "" #: common/models.py:1412 msgid "Allow multiple parts to share the same IPN" -msgstr "Permitir que várias peças compartilhem o mesmo IPN" +msgstr "" #: common/models.py:1417 msgid "Allow Editing IPN" -msgstr "Permitir Edição IPN" +msgstr "" #: common/models.py:1418 msgid "Allow changing the IPN value while editing a part" -msgstr "Permitir trocar o valor do IPN enquanto se edita a peça" +msgstr "" #: common/models.py:1423 msgid "Copy Part BOM Data" -msgstr "Copiar dados da LDM da Peça" +msgstr "" #: common/models.py:1424 msgid "Copy BOM data by default when duplicating a part" -msgstr "Copiar dados da LDM por padrão quando duplicar a peça" +msgstr "" #: common/models.py:1429 msgid "Copy Part Parameter Data" -msgstr "Copiar Dados de Parâmetro da Peça" +msgstr "" #: common/models.py:1430 msgid "Copy parameter data by default when duplicating a part" -msgstr "Copiar dados de parâmetros por padrão quando duplicar uma peça" +msgstr "" #: common/models.py:1435 msgid "Copy Part Test Data" -msgstr "Copiar Dados Teste da Peça" +msgstr "" #: common/models.py:1436 msgid "Copy test data by default when duplicating a part" -msgstr "Copiar dados de teste por padrão quando duplicar a peça" +msgstr "" #: common/models.py:1441 msgid "Copy Category Parameter Templates" -msgstr "Copiar Parâmetros dos Modelos de Categoria" +msgstr "" #: common/models.py:1442 msgid "Copy category parameter templates when creating a part" -msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" +msgstr "" #: common/models.py:1447 part/admin.py:108 part/models.py:3795 #: report/models.py:294 report/models.py:361 report/serializers.py:90 @@ -2242,299 +2238,299 @@ msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" -msgstr "Modelo" +msgstr "" #: common/models.py:1448 msgid "Parts are templates by default" -msgstr "Peças são modelos por padrão" +msgstr "" #: common/models.py:1453 part/admin.py:91 part/admin.py:425 part/models.py:1052 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" -msgstr "Montagem" +msgstr "" #: common/models.py:1454 msgid "Parts can be assembled from other components by default" -msgstr "Peças podem ser montadas a partir de outros componentes por padrão" +msgstr "" #: common/models.py:1459 part/admin.py:95 part/models.py:1058 #: templates/js/translated/table_filters.js:729 msgid "Component" -msgstr "Componente" +msgstr "" #: common/models.py:1460 msgid "Parts can be used as sub-components by default" -msgstr "Peças podem ser usadas como sub-componentes por padrão" +msgstr "" #: common/models.py:1465 part/admin.py:100 part/models.py:1070 msgid "Purchaseable" -msgstr "Comprável" +msgstr "" #: common/models.py:1466 msgid "Parts are purchaseable by default" -msgstr "Peças são compráveis por padrão" +msgstr "" #: common/models.py:1471 part/admin.py:104 part/models.py:1076 #: templates/js/translated/table_filters.js:755 msgid "Salable" -msgstr "Vendível" +msgstr "" #: common/models.py:1472 msgid "Parts are salable by default" -msgstr "Peças vão vendíveis por padrão" +msgstr "" #: common/models.py:1477 part/admin.py:113 part/models.py:1064 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" -msgstr "Rastreável" +msgstr "" #: common/models.py:1478 msgid "Parts are trackable by default" -msgstr "Peças vão rastreáveis por padrão" +msgstr "" #: common/models.py:1483 part/admin.py:117 part/models.py:1086 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" -msgstr "Virtual" +msgstr "" #: common/models.py:1484 msgid "Parts are virtual by default" -msgstr "Peças são virtuais por padrão" +msgstr "" #: common/models.py:1489 msgid "Show Import in Views" -msgstr "Mostrar Importações em Visualizações" +msgstr "" #: common/models.py:1490 msgid "Display the import wizard in some part views" -msgstr "Exibir o assistente de importação em algumas visualizações de partes" +msgstr "" #: common/models.py:1495 msgid "Show related parts" -msgstr "Mostra peças relacionadas" +msgstr "" #: common/models.py:1496 msgid "Display related parts for a part" -msgstr "Mostrar peças relacionadas para uma peça" +msgstr "" #: common/models.py:1501 msgid "Initial Stock Data" -msgstr "Dados Iniciais de Estoque" +msgstr "" #: common/models.py:1502 msgid "Allow creation of initial stock when adding a new part" -msgstr "Permitir Criação de estoque inicial quando adicional uma nova peça" +msgstr "" #: common/models.py:1507 templates/js/translated/part.js:107 msgid "Initial Supplier Data" -msgstr "Dados Iniciais de Fornecedor" +msgstr "" #: common/models.py:1509 msgid "Allow creation of initial supplier data when adding a new part" -msgstr "Permitir criação de dados iniciais de fornecedor quando adicionar uma nova peça" +msgstr "" #: common/models.py:1515 msgid "Part Name Display Format" -msgstr "Formato de Exibição do Nome da Peça" +msgstr "" #: common/models.py:1516 msgid "Format to display the part name" -msgstr "Formato para exibir o nome da peça" +msgstr "" #: common/models.py:1522 msgid "Part Category Default Icon" -msgstr "Ícone de Categoria de Peça Padrão" +msgstr "" #: common/models.py:1523 msgid "Part category default icon (empty means no icon)" -msgstr "Ícone padrão de categoria de peça (vazio significa sem ícone)" +msgstr "" #: common/models.py:1527 msgid "Enforce Parameter Units" -msgstr "Forçar Unidades de Parâmetro" +msgstr "" #: common/models.py:1529 msgid "If units are provided, parameter values must match the specified units" -msgstr "Se as unidades são fornecidas, os valores do parâmetro devem corresponder às unidades especificadas" +msgstr "" #: common/models.py:1535 msgid "Minimum Pricing Decimal Places" -msgstr "Mínimo de Casas Decimais do Preço" +msgstr "" #: common/models.py:1537 msgid "Minimum number of decimal places to display when rendering pricing data" -msgstr "Mínimo número de casas decimais a exibir quando renderizar dados de preços" +msgstr "" #: common/models.py:1548 msgid "Maximum Pricing Decimal Places" -msgstr "Máximo Casas Decimais de Preço" +msgstr "" #: common/models.py:1550 msgid "Maximum number of decimal places to display when rendering pricing data" -msgstr "Número máximo de casas decimais a exibir quando renderizar dados de preços" +msgstr "" #: common/models.py:1561 msgid "Use Supplier Pricing" -msgstr "Usar Preços do Fornecedor" +msgstr "" #: common/models.py:1563 msgid "Include supplier price breaks in overall pricing calculations" -msgstr "Incluir quebras de preço do fornecedor nos cálculos de preços globais" +msgstr "" #: common/models.py:1569 msgid "Purchase History Override" -msgstr "Sobrescrever histórico de compra" +msgstr "" #: common/models.py:1571 msgid "Historical purchase order pricing overrides supplier price breaks" -msgstr "Histórico do pedido de compra substitui os intervalos dos preços do fornecedor" +msgstr "" #: common/models.py:1577 msgid "Use Stock Item Pricing" -msgstr "Usar Preços do Item em Estoque" +msgstr "" #: common/models.py:1579 msgid "Use pricing from manually entered stock data for pricing calculations" -msgstr "Usar preço inserido manualmente no estoque para cálculos de valores" +msgstr "" #: common/models.py:1585 msgid "Stock Item Pricing Age" -msgstr "Idade do preço do Item em Estoque" +msgstr "" #: common/models.py:1587 msgid "Exclude stock items older than this number of days from pricing calculations" -msgstr "Não incluir itens em estoque mais velhos que este número de dias no cálculo de preços" +msgstr "" #: common/models.py:1594 msgid "Use Variant Pricing" -msgstr "Usar Preço Variável" +msgstr "" #: common/models.py:1595 msgid "Include variant pricing in overall pricing calculations" -msgstr "Incluir preços variáveis nos cálculos de valores gerais" +msgstr "" #: common/models.py:1600 msgid "Active Variants Only" -msgstr "Apenas Ativar Variáveis" +msgstr "" #: common/models.py:1602 msgid "Only use active variant parts for calculating variant pricing" -msgstr "Apenas usar peças variáveis ativas para calcular preço variáveis" +msgstr "" #: common/models.py:1608 msgid "Pricing Rebuild Interval" -msgstr "Intervalo de Reconstrução de Preços" +msgstr "" #: common/models.py:1610 msgid "Number of days before part pricing is automatically updated" -msgstr "Número de dias antes da atualização automática dos preços das peças" +msgstr "" #: common/models.py:1617 msgid "Internal Prices" -msgstr "Preços Internos" +msgstr "" #: common/models.py:1618 msgid "Enable internal prices for parts" -msgstr "Habilitar preços internos para peças" +msgstr "" #: common/models.py:1623 msgid "Internal Price Override" -msgstr "Sobrepor Valor Interno" +msgstr "" #: common/models.py:1625 msgid "If available, internal prices override price range calculations" -msgstr "Se disponível, preços internos sobrepõe variação de cálculos de preço" +msgstr "" #: common/models.py:1631 msgid "Enable label printing" -msgstr "Ativar impressão de etiquetas" +msgstr "" #: common/models.py:1632 msgid "Enable label printing from the web interface" -msgstr "Ativar impressão de etiqueta pela interface da internet" +msgstr "" #: common/models.py:1637 msgid "Label Image DPI" -msgstr "DPI da Imagem na Etiqueta" +msgstr "" #: common/models.py:1639 msgid "DPI resolution when generating image files to supply to label printing plugins" -msgstr "Resolução de DPI quando gerar arquivo de imagens para fornecer à extensão de impressão de etiquetas" +msgstr "" #: common/models.py:1645 msgid "Enable Reports" -msgstr "Habilitar Relatórios" +msgstr "" #: common/models.py:1646 msgid "Enable generation of reports" -msgstr "Ativar geração de relatórios" +msgstr "" #: common/models.py:1651 templates/stats.html:25 msgid "Debug Mode" -msgstr "Modo de depuração" +msgstr "" #: common/models.py:1652 msgid "Generate reports in debug mode (HTML output)" -msgstr "Gerar relatórios em modo de depuração (saída HTML)" +msgstr "" #: common/models.py:1657 msgid "Log Report Errors" -msgstr "Relatório de erros" +msgstr "" #: common/models.py:1658 msgid "Log errors which occur when generating reports" -msgstr "Registro de erros que ocorrem ao gerar relatórios" +msgstr "" #: common/models.py:1663 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" -msgstr "Tamanho da página" +msgstr "" #: common/models.py:1664 msgid "Default page size for PDF reports" -msgstr "Tamanho padrão da página PDF para relatórios" +msgstr "" #: common/models.py:1669 msgid "Enable Test Reports" -msgstr "Ativar Relatórios Teste" +msgstr "" #: common/models.py:1670 msgid "Enable generation of test reports" -msgstr "Ativar geração de relatórios de teste" +msgstr "" #: common/models.py:1675 msgid "Attach Test Reports" -msgstr "Anexar Relatórios de Teste" +msgstr "" #: common/models.py:1677 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "Quando imprimir um Relatório de Teste, anexar uma cópia do mesmo ao item de estoque associado" +msgstr "" #: common/models.py:1683 msgid "Globally Unique Serials" -msgstr "Seriais Únicos Globais" +msgstr "" #: common/models.py:1684 msgid "Serial numbers for stock items must be globally unique" -msgstr "Números de série para itens de estoque devem ser globalmente únicos" +msgstr "" #: common/models.py:1689 msgid "Autofill Serial Numbers" -msgstr "Preenchimento automático de Números Seriais" +msgstr "" #: common/models.py:1690 msgid "Autofill serial numbers in forms" -msgstr "Preencher números de série automaticamente no formulário" +msgstr "" #: common/models.py:1695 msgid "Delete Depleted Stock" -msgstr "Excluir Estoque Esgotado" +msgstr "" #: common/models.py:1697 msgid "Determines default behavior when a stock item is depleted" @@ -2542,67 +2538,67 @@ msgstr "" #: common/models.py:1703 msgid "Batch Code Template" -msgstr "Modelo de Código de Lote" +msgstr "" #: common/models.py:1705 msgid "Template for generating default batch codes for stock items" -msgstr "Modelo para gerar códigos de lote padrão para itens de estoque" +msgstr "" #: common/models.py:1710 msgid "Stock Expiry" -msgstr "Validade do Estoque" +msgstr "" #: common/models.py:1711 msgid "Enable stock expiry functionality" -msgstr "Ativar função de validade de estoque" +msgstr "" #: common/models.py:1716 msgid "Sell Expired Stock" -msgstr "Vender estoque expirado" +msgstr "" #: common/models.py:1717 msgid "Allow sale of expired stock" -msgstr "Permitir venda de estoque expirado" +msgstr "" #: common/models.py:1722 msgid "Stock Stale Time" -msgstr "Tempo de Estoque Inativo" +msgstr "" #: common/models.py:1724 msgid "Number of days stock items are considered stale before expiring" -msgstr "Número de dias em que os itens em estoque são considerados obsoleto antes de vencer" +msgstr "" #: common/models.py:1731 msgid "Build Expired Stock" -msgstr "Produzir Estoque Vencido" +msgstr "" #: common/models.py:1732 msgid "Allow building with expired stock" -msgstr "Permitir produção com estoque vencido" +msgstr "" #: common/models.py:1737 msgid "Stock Ownership Control" -msgstr "Controle de propriedade do estoque" +msgstr "" #: common/models.py:1738 msgid "Enable ownership control over stock locations and items" -msgstr "Ativar controle de propriedade sobre locais e itens de estoque" +msgstr "" #: common/models.py:1743 msgid "Stock Location Default Icon" -msgstr "Ícone padrão do local de estoque" +msgstr "" #: common/models.py:1744 msgid "Stock location default icon (empty means no icon)" -msgstr "Ícone padrão de local de estoque (vazio significa sem ícone)" +msgstr "" #: common/models.py:1748 msgid "Show Installed Stock Items" -msgstr "Mostrar Itens de Estoque Instalados" +msgstr "" #: common/models.py:1749 msgid "Display installed stock items in stock tables" -msgstr "Exibir itens de estoque instalados nas tabelas de estoque" +msgstr "" #: common/models.py:1754 msgid "Check BOM when installing items" @@ -2622,11 +2618,11 @@ msgstr "" #: common/models.py:1770 msgid "Build Order Reference Pattern" -msgstr "Modelo de Referência de Pedidos de Produção" +msgstr "" #: common/models.py:1772 msgid "Required pattern for generating Build Order reference field" -msgstr "Modelo necessário para gerar campo de referência do Pedido de Produção" +msgstr "" #: common/models.py:1778 common/models.py:1806 common/models.py:1828 #: common/models.py:1864 @@ -2648,15 +2644,15 @@ msgstr "" #: common/models.py:1792 msgid "Enable Return Orders" -msgstr "Ativar Pedidos de Devolução" +msgstr "" #: common/models.py:1793 msgid "Enable return order functionality in the user interface" -msgstr "Ativar funcionalidade de pedido de retorno na interface do usuário" +msgstr "" #: common/models.py:1798 msgid "Return Order Reference Pattern" -msgstr "Modelo de Referência de Pedidos de Devolução" +msgstr "" #: common/models.py:1800 msgid "Required pattern for generating Return Order reference field" @@ -2664,35 +2660,35 @@ msgstr "" #: common/models.py:1812 msgid "Edit Completed Return Orders" -msgstr "Editar os Pedidos de Devolução Concluídos" +msgstr "" #: common/models.py:1814 msgid "Allow editing of return orders after they have been completed" -msgstr "Permitir a edição de pedidos de devolução após serem enviados ou concluídos" +msgstr "" #: common/models.py:1820 msgid "Sales Order Reference Pattern" -msgstr "Modelo de Referência de Pedidos de Venda" +msgstr "" #: common/models.py:1822 msgid "Required pattern for generating Sales Order reference field" -msgstr "Modelo necessário para gerar campo de referência do Pedido de Venda" +msgstr "" #: common/models.py:1834 msgid "Sales Order Default Shipment" -msgstr "Envio Padrão de Pedidos de Venda" +msgstr "" #: common/models.py:1835 msgid "Enable creation of default shipment with sales orders" -msgstr "Habilitar criação de envio padrão com Pedidos de Vendas" +msgstr "" #: common/models.py:1840 msgid "Edit Completed Sales Orders" -msgstr "Editar os Pedidos de Vendas concluídos" +msgstr "" #: common/models.py:1842 msgid "Allow editing of sales orders after they have been shipped or completed" -msgstr "Permitir a edição de pedidos de vendas após serem enviados ou concluídos" +msgstr "" #: common/models.py:1848 msgid "Mark Shipped Orders as Complete" @@ -2704,219 +2700,219 @@ msgstr "" #: common/models.py:1856 msgid "Purchase Order Reference Pattern" -msgstr "Modelo de Referência de Pedidos de Compras" +msgstr "" #: common/models.py:1858 msgid "Required pattern for generating Purchase Order reference field" -msgstr "Modelo necessário para gerar campo de referência do Pedido de Compra" +msgstr "" #: common/models.py:1870 msgid "Edit Completed Purchase Orders" -msgstr "Editar Pedidos de Compra Concluídos" +msgstr "" #: common/models.py:1872 msgid "Allow editing of purchase orders after they have been shipped or completed" -msgstr "Permitir a edição de pedidos de compras após serem enviados ou concluídos" +msgstr "" #: common/models.py:1878 msgid "Auto Complete Purchase Orders" -msgstr "Autocompletar Pedidos de Compra" +msgstr "" #: common/models.py:1880 msgid "Automatically mark purchase orders as complete when all line items are received" -msgstr "Marcar automaticamente os pedidos de compra como concluídos quando todos os itens de linha forem recebidos" +msgstr "" #: common/models.py:1887 msgid "Enable password forgot" -msgstr "Habitar esquecer senha" +msgstr "" #: common/models.py:1888 msgid "Enable password forgot function on the login pages" -msgstr "Habilitar a função \"Esqueci minha senha\" nas páginas de acesso" +msgstr "" #: common/models.py:1893 msgid "Enable registration" -msgstr "Habilitar cadastro" +msgstr "" #: common/models.py:1894 msgid "Enable self-registration for users on the login pages" -msgstr "Ativar auto-registro para usuários na página de entrada" +msgstr "" #: common/models.py:1899 msgid "Enable SSO" -msgstr "Ativar SSO" +msgstr "" #: common/models.py:1900 msgid "Enable SSO on the login pages" -msgstr "Ativar SSO na página de acesso" +msgstr "" #: common/models.py:1905 msgid "Enable SSO registration" -msgstr "Ativar registro SSO" +msgstr "" #: common/models.py:1907 msgid "Enable self-registration via SSO for users on the login pages" -msgstr "Ativar auto-registro por SSO para usuários na página de entrada" +msgstr "" #: common/models.py:1913 msgid "Email required" -msgstr "Email obrigatório" +msgstr "" #: common/models.py:1914 msgid "Require user to supply mail on signup" -msgstr "Exigir do usuário o e-mail no cadastro" +msgstr "" #: common/models.py:1919 msgid "Auto-fill SSO users" -msgstr "Auto-preencher usuários SSO" +msgstr "" #: common/models.py:1921 msgid "Automatically fill out user-details from SSO account-data" -msgstr "Preencher automaticamente os detalhes do usuário a partir de dados da conta SSO" +msgstr "" #: common/models.py:1927 msgid "Mail twice" -msgstr "Enviar email duplo" +msgstr "" #: common/models.py:1928 msgid "On signup ask users twice for their mail" -msgstr "No registro pedir aos usuários duas vezes pelo email" +msgstr "" #: common/models.py:1933 msgid "Password twice" -msgstr "Senha duas vezes" +msgstr "" #: common/models.py:1934 msgid "On signup ask users twice for their password" -msgstr "No registro pedir aos usuários duas vezes pela senha" +msgstr "" #: common/models.py:1939 msgid "Allowed domains" -msgstr "Domínios permitidos" +msgstr "" #: common/models.py:1941 msgid "Restrict signup to certain domains (comma-separated, starting with @)" -msgstr "Restringir registros a certos domínios (separados por vírgula, começando com @)" +msgstr "" #: common/models.py:1947 msgid "Group on signup" -msgstr "Grupo no cadastro" +msgstr "" #: common/models.py:1948 msgid "Group to which new users are assigned on registration" -msgstr "Grupo ao qual novos usuários são atribuídos no registro" +msgstr "" #: common/models.py:1953 msgid "Enforce MFA" -msgstr "Forçar AMF" +msgstr "" #: common/models.py:1954 msgid "Users must use multifactor security." -msgstr "Os usuários devem usar uma segurança multifator." +msgstr "" #: common/models.py:1959 msgid "Check plugins on startup" -msgstr "Checar extensões no início" +msgstr "" #: common/models.py:1961 msgid "Check that all plugins are installed on startup - enable in container environments" -msgstr "Checar que todas as extensões instaladas no início — ativar em ambientes de contêineres" +msgstr "" #: common/models.py:1969 msgid "Check for plugin updates" -msgstr "Verificar por atualizações de plugin" +msgstr "" #: common/models.py:1970 msgid "Enable periodic checks for updates to installed plugins" -msgstr "Habilitar verificações periódicas de atualizações para plugins instalados" +msgstr "" #: common/models.py:1976 msgid "Enable URL integration" -msgstr "Ativar integração URL" +msgstr "" #: common/models.py:1977 msgid "Enable plugins to add URL routes" -msgstr "Ativar extensão para adicionar rotas URL" +msgstr "" #: common/models.py:1983 msgid "Enable navigation integration" -msgstr "Ativar integração de navegação" +msgstr "" #: common/models.py:1984 msgid "Enable plugins to integrate into navigation" -msgstr "Ativar extensões para integrar à navegação" +msgstr "" #: common/models.py:1990 msgid "Enable app integration" -msgstr "Ativa integração com aplicativo" +msgstr "" #: common/models.py:1991 msgid "Enable plugins to add apps" -msgstr "Ativar extensões para adicionar aplicativos" +msgstr "" #: common/models.py:1997 msgid "Enable schedule integration" -msgstr "Ativar integração do calendário" +msgstr "" #: common/models.py:1998 msgid "Enable plugins to run scheduled tasks" -msgstr "Ativar extensões para executar tarefas agendadas" +msgstr "" #: common/models.py:2004 msgid "Enable event integration" -msgstr "Ativar integração de eventos" +msgstr "" #: common/models.py:2005 msgid "Enable plugins to respond to internal events" -msgstr "Ativar extensões para responder a eventos internos" +msgstr "" #: common/models.py:2011 msgid "Enable project codes" -msgstr "Habilitar códigos de projeto" +msgstr "" #: common/models.py:2012 msgid "Enable project codes for tracking projects" -msgstr "Ativar códigos de projeto para rastrear projetos" +msgstr "" #: common/models.py:2017 msgid "Stocktake Functionality" -msgstr "Funcionalidade de Balanço do Inventário" +msgstr "" #: common/models.py:2019 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" -msgstr "Ativar funcionalidade de balanço para gravar níveis de estoque e calcular seu valor" +msgstr "" #: common/models.py:2025 msgid "Exclude External Locations" -msgstr "Excluir Locais Externos" +msgstr "" #: common/models.py:2027 msgid "Exclude stock items in external locations from stocktake calculations" -msgstr "Excluir itens de estoque em locais externos dos cálculos do estoque" +msgstr "" #: common/models.py:2033 msgid "Automatic Stocktake Period" -msgstr "Período de Balanço Automático" +msgstr "" #: common/models.py:2035 msgid "Number of days between automatic stocktake recording (set to zero to disable)" -msgstr "Número de dias entre gravação do balanço de estoque (coloque zero para desativar)" +msgstr "" #: common/models.py:2041 msgid "Report Deletion Interval" -msgstr "Intervalo para Excluir o Relatório" +msgstr "" #: common/models.py:2043 msgid "Stocktake reports will be deleted after specified number of days" -msgstr "Relatórios de balanço serão apagados após um número de dias especificado" +msgstr "" #: common/models.py:2050 msgid "Display Users full names" -msgstr "Mostrar nomes completos dos usuários" +msgstr "" #: common/models.py:2051 msgid "Display Users full names instead of usernames" -msgstr "Mostrar Nomes Completos em vez de Nomes de Usuário" +msgstr "" #: common/models.py:2056 msgid "Enable Test Station Data" @@ -2928,39 +2924,39 @@ msgstr "" #: common/models.py:2069 common/models.py:2479 msgid "Settings key (must be unique - case insensitive" -msgstr "Senha de configurações (deve ser única — diferencia maiúsculas de minúsculas" +msgstr "" #: common/models.py:2112 msgid "Hide inactive parts" -msgstr "Ocultar peças inativas" +msgstr "" #: common/models.py:2114 msgid "Hide inactive parts in results displayed on the homepage" -msgstr "Ocultar peças inativas nos resultados exibidos na página inicial" +msgstr "" #: common/models.py:2120 msgid "Show subscribed parts" -msgstr "Mostrar peças subscritas" +msgstr "" #: common/models.py:2121 msgid "Show subscribed parts on the homepage" -msgstr "Mostrar peças subscritas na tela inicial" +msgstr "" #: common/models.py:2126 msgid "Show subscribed categories" -msgstr "Mostrar categorias subscritas" +msgstr "" #: common/models.py:2127 msgid "Show subscribed part categories on the homepage" -msgstr "Mostrar categorias de peças subscritas na tela inicial" +msgstr "" #: common/models.py:2132 msgid "Show latest parts" -msgstr "Mostrar peças mais recentes" +msgstr "" #: common/models.py:2133 msgid "Show latest parts on the homepage" -msgstr "Mostrar as peças mais recentes na página inicial" +msgstr "" #: common/models.py:2138 msgid "Show invalid BOMs" @@ -2968,375 +2964,375 @@ msgstr "" #: common/models.py:2139 msgid "Show BOMs that await validation on the homepage" -msgstr "Mostrar LDMs que aguardam validação na página inicial" +msgstr "" #: common/models.py:2144 msgid "Show recent stock changes" -msgstr "Mostrar alterações recentes de estoque" +msgstr "" #: common/models.py:2145 msgid "Show recently changed stock items on the homepage" -msgstr "Mostrar itens de estoque alterados recentemente na página inicial" +msgstr "" #: common/models.py:2150 msgid "Show low stock" -msgstr "Mostrar estoque baixo" +msgstr "" #: common/models.py:2151 msgid "Show low stock items on the homepage" -msgstr "Mostrar itens de baixo estoque na página inicial" +msgstr "" #: common/models.py:2156 msgid "Show depleted stock" -msgstr "Mostrar estoque esgotado" +msgstr "" #: common/models.py:2157 msgid "Show depleted stock items on the homepage" -msgstr "Mostrar itens sem estoque na página inicial" +msgstr "" #: common/models.py:2162 msgid "Show needed stock" -msgstr "Mostrar estoque necessário" +msgstr "" #: common/models.py:2163 msgid "Show stock items needed for builds on the homepage" -msgstr "Mostrar itens de estoque necessários para produções na tela inicial" +msgstr "" #: common/models.py:2168 msgid "Show expired stock" -msgstr "Mostrar estoque expirado" +msgstr "" #: common/models.py:2169 msgid "Show expired stock items on the homepage" -msgstr "Mostrar expirados itens em estoque na tela inicial" +msgstr "" #: common/models.py:2174 msgid "Show stale stock" -msgstr "Mostrar estoque inativo" +msgstr "" #: common/models.py:2175 msgid "Show stale stock items on the homepage" -msgstr "Mostrar estoque inativo na tela inicial" +msgstr "" #: common/models.py:2180 msgid "Show pending builds" -msgstr "Mostrar produções pendentes" +msgstr "" #: common/models.py:2181 msgid "Show pending builds on the homepage" -msgstr "Mostrar produções pendentes na tela inicial" +msgstr "" #: common/models.py:2186 msgid "Show overdue builds" -msgstr "Mostrar produções atrasadas" +msgstr "" #: common/models.py:2187 msgid "Show overdue builds on the homepage" -msgstr "Mostrar produções atrasadas na tela inicial" +msgstr "" #: common/models.py:2192 msgid "Show outstanding POs" -msgstr "Mostrar pedidos de compra pendentes" +msgstr "" #: common/models.py:2193 msgid "Show outstanding POs on the homepage" -msgstr "Mostrar os Pedidos de Compras pendentes na página inicial" +msgstr "" #: common/models.py:2198 msgid "Show overdue POs" -msgstr "Mostrar Pedidos de Compra atrasados" +msgstr "" #: common/models.py:2199 msgid "Show overdue POs on the homepage" -msgstr "Mostrar os Pedidos de Compras atrasadas na tela inicial" +msgstr "" #: common/models.py:2204 msgid "Show outstanding SOs" -msgstr "Mostrar pedidos de vendas pendentes" +msgstr "" #: common/models.py:2205 msgid "Show outstanding SOs on the homepage" -msgstr "Mostrar os Pedidos de Vendas pendentes na página inicial" +msgstr "" #: common/models.py:2210 msgid "Show overdue SOs" -msgstr "Mostrar Pedidos de Venda atrasados" +msgstr "" #: common/models.py:2211 msgid "Show overdue SOs on the homepage" -msgstr "Mostrar os Pedidos de Vendas atrasadas na tela inicial" +msgstr "" #: common/models.py:2216 msgid "Show pending SO shipments" -msgstr "Mostrar remessas de OV pendentes" +msgstr "" #: common/models.py:2217 msgid "Show pending SO shipments on the homepage" -msgstr "Mostrar envios OV pendentes na tela inicial" +msgstr "" #: common/models.py:2222 msgid "Show News" -msgstr "Mostrar notícias" +msgstr "" #: common/models.py:2223 msgid "Show news on the homepage" -msgstr "Mostrar notícias na tela inicial" +msgstr "" #: common/models.py:2228 msgid "Inline label display" -msgstr "Mostrar etiqueta em linha" +msgstr "" #: common/models.py:2230 msgid "Display PDF labels in the browser, instead of downloading as a file" -msgstr "Mostrar etiquetas em PDF no navegador, ao invés de baixar o arquivo" +msgstr "" #: common/models.py:2236 msgid "Default label printer" -msgstr "Impressora de etiquetas padrão" +msgstr "" #: common/models.py:2238 msgid "Configure which label printer should be selected by default" -msgstr "Configurar qual impressora de etiqueta deve ser selecionada por padrão" +msgstr "" #: common/models.py:2244 msgid "Inline report display" -msgstr "Mostrar relatório em linha" +msgstr "" #: common/models.py:2246 msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "Mostrar relatórios em PDF no navegador, ao invés de baixar o arquivo" +msgstr "" #: common/models.py:2252 msgid "Search Parts" -msgstr "Procurar Peças" +msgstr "" #: common/models.py:2253 msgid "Display parts in search preview window" -msgstr "Mostrar peças na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2258 msgid "Search Supplier Parts" -msgstr "Buscar Peças do Fornecedor" +msgstr "" #: common/models.py:2259 msgid "Display supplier parts in search preview window" -msgstr "Mostrar fornecedor de peças na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2264 msgid "Search Manufacturer Parts" -msgstr "Buscar peças do fabricante" +msgstr "" #: common/models.py:2265 msgid "Display manufacturer parts in search preview window" -msgstr "Mostrar fabricante de peças na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2270 msgid "Hide Inactive Parts" -msgstr "Ocultar peças inativas" +msgstr "" #: common/models.py:2271 msgid "Excluded inactive parts from search preview window" -msgstr "Não incluir peças inativas na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2276 msgid "Search Categories" -msgstr "Pesquisar Categorias" +msgstr "" #: common/models.py:2277 msgid "Display part categories in search preview window" -msgstr "Mostrar categoria das peças na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2282 msgid "Search Stock" -msgstr "Pesquisar Estoque" +msgstr "" #: common/models.py:2283 msgid "Display stock items in search preview window" -msgstr "Mostrar itens do estoque na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2288 msgid "Hide Unavailable Stock Items" -msgstr "Ocultar itens do estoque indisponíveis" +msgstr "" #: common/models.py:2290 msgid "Exclude stock items which are not available from the search preview window" -msgstr "Não incluir itens de estoque que não estão disponíveis na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2296 msgid "Search Locations" -msgstr "Procurar Locais" +msgstr "" #: common/models.py:2297 msgid "Display stock locations in search preview window" -msgstr "Mostrar locais de estoque na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2302 msgid "Search Companies" -msgstr "Pesquisar empresas" +msgstr "" #: common/models.py:2303 msgid "Display companies in search preview window" -msgstr "Mostrar empresas na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2308 msgid "Search Build Orders" -msgstr "Procurar Pedidos de Produção" +msgstr "" #: common/models.py:2309 msgid "Display build orders in search preview window" -msgstr "Mostrar pedidos de produção na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2314 msgid "Search Purchase Orders" -msgstr "Mostrar Pedido de Compras" +msgstr "" #: common/models.py:2315 msgid "Display purchase orders in search preview window" -msgstr "Mostrar pedidos de compra na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2320 msgid "Exclude Inactive Purchase Orders" -msgstr "Não incluir Pedidos de Compras Inativos" +msgstr "" #: common/models.py:2322 msgid "Exclude inactive purchase orders from search preview window" -msgstr "Não incluir pedidos de compras inativos na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2328 msgid "Search Sales Orders" -msgstr "Procurar Pedidos de Vendas" +msgstr "" #: common/models.py:2329 msgid "Display sales orders in search preview window" -msgstr "Mostrar pedidos de vendas na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2334 msgid "Exclude Inactive Sales Orders" -msgstr "Não Incluir Pedidos de Compras Inativas" +msgstr "" #: common/models.py:2336 msgid "Exclude inactive sales orders from search preview window" -msgstr "Não incluir pedidos de vendas inativos na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2342 msgid "Search Return Orders" -msgstr "Procurar Pedidos de Devolução" +msgstr "" #: common/models.py:2343 msgid "Display return orders in search preview window" -msgstr "Mostrar pedidos de devolução na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2348 msgid "Exclude Inactive Return Orders" -msgstr "Não Incluir Pedidos de Devolução Inativas" +msgstr "" #: common/models.py:2350 msgid "Exclude inactive return orders from search preview window" -msgstr "Não incluir pedidos de devolução inativos na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2356 msgid "Search Preview Results" -msgstr "Mostrar Resultados Anteriores" +msgstr "" #: common/models.py:2358 msgid "Number of results to show in each section of the search preview window" -msgstr "Número de resultados mostrados em cada seção da janela de visualização de pesquisa" +msgstr "" #: common/models.py:2364 msgid "Regex Search" -msgstr "Pesquisa de Regex" +msgstr "" #: common/models.py:2365 msgid "Enable regular expressions in search queries" -msgstr "Permitir expressôes comuns nas conultas de pesquisas" +msgstr "" #: common/models.py:2370 msgid "Whole Word Search" -msgstr "Busca de Palavras Inteira" +msgstr "" #: common/models.py:2371 msgid "Search queries return results for whole word matches" -msgstr "Pesquisa retorna que palavra inteira coincide" +msgstr "" #: common/models.py:2376 msgid "Show Quantity in Forms" -msgstr "Mostrar Quantidade nos Formulários" +msgstr "" #: common/models.py:2377 msgid "Display available part quantity in some forms" -msgstr "Mostrar a quantidade de peças disponíveis em alguns formulários" +msgstr "" #: common/models.py:2382 msgid "Escape Key Closes Forms" -msgstr "Tecla Esc Fecha Formulários" +msgstr "" #: common/models.py:2383 msgid "Use the escape key to close modal forms" -msgstr "Usar a tecla Esc para fechar fomulários modais" +msgstr "" #: common/models.py:2388 msgid "Fixed Navbar" -msgstr "Fixar Navbar" +msgstr "" #: common/models.py:2389 msgid "The navbar position is fixed to the top of the screen" -msgstr "A posição do Navbar é fixa no topo da tela" +msgstr "" #: common/models.py:2394 msgid "Date Format" -msgstr "Formato da data" +msgstr "" #: common/models.py:2395 msgid "Preferred format for displaying dates" -msgstr "Formato preferido para mostrar datas" +msgstr "" #: common/models.py:2408 part/templates/part/detail.html:41 msgid "Part Scheduling" -msgstr "Agendamento de peças" +msgstr "" #: common/models.py:2409 msgid "Display part scheduling information" -msgstr "Mostrar informações de agendamento de peças" +msgstr "" #: common/models.py:2414 part/templates/part/detail.html:62 msgid "Part Stocktake" -msgstr "Balanço de Peça" +msgstr "" #: common/models.py:2416 msgid "Display part stocktake information (if stocktake functionality is enabled)" -msgstr "Mostrar informação de balanço da peça (se a funcionalidade de balanço estiver habilitada)" +msgstr "" #: common/models.py:2422 msgid "Table String Length" -msgstr "Comprimento da Tabela de Frases" +msgstr "" #: common/models.py:2424 msgid "Maximum length limit for strings displayed in table views" -msgstr "Limite máximo de comprimento para frases exibidas nas visualizações de tabela" +msgstr "" #: common/models.py:2430 msgid "Default part label template" -msgstr "Modelo de rótulo padrão da peça" +msgstr "" #: common/models.py:2431 msgid "The part label template to be automatically selected" -msgstr "O modelo de rótulo da peça a ser selecionado automaticamente" +msgstr "" #: common/models.py:2436 msgid "Default stock item template" -msgstr "Modelo padrão de item de estoque" +msgstr "" #: common/models.py:2438 msgid "The stock item label template to be automatically selected" -msgstr "O modelo de rótulo do item a ser selecionado automaticamente" +msgstr "" #: common/models.py:2444 msgid "Default stock location label template" -msgstr "Modelo de rótulo de localização do estoque padrão" +msgstr "" #: common/models.py:2446 msgid "The stock location label template to be automatically selected" -msgstr "O modelo de rótulo do local de estoque a ser selecionado automaticamente" +msgstr "" #: common/models.py:2452 msgid "Default build line label template" @@ -3348,19 +3344,19 @@ msgstr "" #: common/models.py:2460 msgid "Receive error reports" -msgstr "Receber relatório de erros" +msgstr "" #: common/models.py:2461 msgid "Receive notifications for system errors" -msgstr "Receber notificações para erros do sistema" +msgstr "" #: common/models.py:2466 msgid "Last used printing machines" -msgstr "Últimas máquinas de impressão utilizadas" +msgstr "" #: common/models.py:2467 msgid "Save the last used printing machines for a user" -msgstr "Salvar as últimas máquinas de impressão usadas para um usuário" +msgstr "" #: common/models.py:2487 common/models.py:2488 common/models.py:2636 #: common/models.py:2637 common/models.py:2882 common/models.py:2883 @@ -3370,11 +3366,11 @@ msgstr "Salvar as últimas máquinas de impressão usadas para um usuário" #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" -msgstr "Usuario" +msgstr "" #: common/models.py:2510 msgid "Price break quantity" -msgstr "Quantidade de Parcelamentos" +msgstr "" #: common/models.py:2517 company/serializers.py:472 order/admin.py:42 #: order/models.py:1346 order/models.py:2265 @@ -3382,23 +3378,23 @@ msgstr "Quantidade de Parcelamentos" #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" -msgstr "Preço" +msgstr "" #: common/models.py:2518 msgid "Unit price at specified quantity" -msgstr "Preço unitário na quantidade especificada" +msgstr "" #: common/models.py:2613 common/models.py:2798 msgid "Endpoint" -msgstr "Ponto final" +msgstr "" #: common/models.py:2614 msgid "Endpoint at which this webhook is received" -msgstr "Ponto final em qual o gancho web foi recebido" +msgstr "" #: common/models.py:2624 msgid "Name for this webhook" -msgstr "Nome para este webhook" +msgstr "" #: common/models.py:2628 company/models.py:163 company/models.py:782 #: machine/models.py:39 part/admin.py:88 part/models.py:1081 @@ -3410,11 +3406,11 @@ msgstr "Nome para este webhook" #: templates/js/translated/table_filters.js:716 #: templates/js/translated/table_filters.js:796 users/models.py:182 msgid "Active" -msgstr "Ativo" +msgstr "" #: common/models.py:2628 msgid "Is this webhook active" -msgstr "Este gancho web está ativo" +msgstr "" #: common/models.py:2644 users/models.py:159 msgid "Token" @@ -3422,59 +3418,59 @@ msgstr "" #: common/models.py:2645 msgid "Token for access" -msgstr "Token de acesso" +msgstr "" #: common/models.py:2653 msgid "Secret" -msgstr "Segredo" +msgstr "" #: common/models.py:2654 msgid "Shared secret for HMAC" -msgstr "Segredo compartilhado para HMAC" +msgstr "" #: common/models.py:2762 msgid "Message ID" -msgstr "ID da Mensagem" +msgstr "" #: common/models.py:2763 msgid "Unique identifier for this message" -msgstr "Identificador exclusivo desta mensagem" +msgstr "" #: common/models.py:2771 msgid "Host" -msgstr "Servidor" +msgstr "" #: common/models.py:2772 msgid "Host from which this message was received" -msgstr "Servidor do qual esta mensagem foi recebida" +msgstr "" #: common/models.py:2780 msgid "Header" -msgstr "Cabeçalho" +msgstr "" #: common/models.py:2781 msgid "Header of this message" -msgstr "Cabeçalho da mensagem" +msgstr "" #: common/models.py:2788 msgid "Body" -msgstr "Corpo" +msgstr "" #: common/models.py:2789 msgid "Body of this message" -msgstr "Corpo da mensagem" +msgstr "" #: common/models.py:2799 msgid "Endpoint on which this message was received" -msgstr "Ponto do qual esta mensagem foi recebida" +msgstr "" #: common/models.py:2804 msgid "Worked on" -msgstr "Trabalhado em" +msgstr "" #: common/models.py:2805 msgid "Was the work on this message finished?" -msgstr "O trabalho desta mensagem foi concluído?" +msgstr "" #: common/models.py:2931 msgid "Id" @@ -3483,7 +3479,7 @@ msgstr "" #: common/models.py:2933 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" -msgstr "Título" +msgstr "" #: common/models.py:2935 common/models.py:3177 company/models.py:149 #: company/models.py:440 company/models.py:500 company/models.py:799 @@ -3500,28 +3496,28 @@ msgstr "Título" #: templates/js/translated/sales_order.js:1092 #: templates/js/translated/sales_order.js:2023 msgid "Link" -msgstr "Ligação" +msgstr "" #: common/models.py:2937 templates/js/translated/news.js:60 msgid "Published" -msgstr "Publicado" +msgstr "" #: common/models.py:2939 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" -msgstr "Autor" +msgstr "" #: common/models.py:2941 templates/js/translated/news.js:52 msgid "Summary" -msgstr "Resumo" +msgstr "" #: common/models.py:2944 msgid "Read" -msgstr "Lida" +msgstr "" #: common/models.py:2944 msgid "Was this news item read?" -msgstr "Esta notícia do item foi lida?" +msgstr "" #: common/models.py:2961 company/models.py:159 part/models.py:965 #: report/templates/report/inventree_bill_of_materials_report.html:126 @@ -3531,11 +3527,11 @@ msgstr "Esta notícia do item foi lida?" #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" -msgstr "Imagem" +msgstr "" #: common/models.py:2961 msgid "Image file" -msgstr "Arquivo de imagem" +msgstr "" #: common/models.py:2973 common/models.py:3161 msgid "Target model type for this image" @@ -3547,50 +3543,50 @@ msgstr "" #: common/models.py:3018 msgid "Unit name must be a valid identifier" -msgstr "Nome da unidade deve ser um identificador válido" +msgstr "" #: common/models.py:3037 msgid "Unit name" -msgstr "Nome da unidade" +msgstr "" #: common/models.py:3044 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" -msgstr "Símbolo" +msgstr "" #: common/models.py:3045 msgid "Optional unit symbol" -msgstr "Símbolo de unidade opcional" +msgstr "" #: common/models.py:3052 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" -msgstr "Definição" +msgstr "" #: common/models.py:3053 msgid "Unit definition" -msgstr "Definição de unidade" +msgstr "" #: common/models.py:3111 common/models.py:3168 stock/models.py:2426 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" -msgstr "Anexo" +msgstr "" #: common/models.py:3123 msgid "Missing file" -msgstr "Arquivo ausente" +msgstr "" #: common/models.py:3124 msgid "Missing external link" -msgstr "Link externo não encontrado" +msgstr "" #: common/models.py:3169 msgid "Select file to attach" -msgstr "Selecione arquivo para anexar" +msgstr "" #: common/models.py:3184 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" -msgstr "Comentario" +msgstr "" #: common/models.py:3185 msgid "Attachment comment" @@ -3619,100 +3615,100 @@ msgstr "" #: common/notifications.py:314 #, python-brace-format msgid "New {verbose_name}" -msgstr "Novo {verbose_name}" +msgstr "" #: common/notifications.py:316 msgid "A new order has been created and assigned to you" -msgstr "Um novo pedido foi criado e atribuído a você" +msgstr "" #: common/notifications.py:322 #, python-brace-format msgid "{verbose_name} canceled" -msgstr "{verbose_name} cancelado" +msgstr "" #: common/notifications.py:324 msgid "A order that is assigned to you was canceled" -msgstr "Um pedido atribuído a você foi cancelado" +msgstr "" #: common/notifications.py:330 common/notifications.py:337 order/api.py:472 msgid "Items Received" -msgstr "Itens Recebidos" +msgstr "" #: common/notifications.py:332 msgid "Items have been received against a purchase order" -msgstr "Os itens de um pedido de compra foram recebidos" +msgstr "" #: common/notifications.py:339 msgid "Items have been received against a return order" -msgstr "Os itens de um pedido de devolução foram recebidos" +msgstr "" #: common/notifications.py:457 msgid "Error raised by plugin" -msgstr "Erro criado pela extensão" +msgstr "" #: common/serializers.py:371 msgid "Is Running" -msgstr "Executando" +msgstr "" #: common/serializers.py:377 msgid "Pending Tasks" -msgstr "Tarefas Pendentes" +msgstr "" #: common/serializers.py:383 msgid "Scheduled Tasks" -msgstr "Tarefas Agendadas" +msgstr "" #: common/serializers.py:389 msgid "Failed Tasks" -msgstr "Tarefas com Falhas" +msgstr "" #: common/serializers.py:404 msgid "Task ID" -msgstr "ID da Tarefa" +msgstr "" #: common/serializers.py:404 msgid "Unique task ID" -msgstr "ID Único da Tarefa" +msgstr "" #: common/serializers.py:406 msgid "Lock" -msgstr "Bloquear" +msgstr "" #: common/serializers.py:406 msgid "Lock time" -msgstr "Tempo de bloqueio" +msgstr "" #: common/serializers.py:408 msgid "Task name" -msgstr "Nome da tarefa" +msgstr "" #: common/serializers.py:410 msgid "Function" -msgstr "Função" +msgstr "" #: common/serializers.py:410 msgid "Function name" -msgstr "Nome da função" +msgstr "" #: common/serializers.py:412 msgid "Arguments" -msgstr "Argumentos" +msgstr "" #: common/serializers.py:412 msgid "Task arguments" -msgstr "Argumentos da tarefa" +msgstr "" #: common/serializers.py:415 msgid "Keyword Arguments" -msgstr "Argumentos de Palavra-chave" +msgstr "" #: common/serializers.py:415 msgid "Task keyword arguments" -msgstr "Argumentos Palavra-chave da Tarefa" +msgstr "" #: common/serializers.py:525 msgid "Filename" -msgstr "Nome do arquivo" +msgstr "" #: common/serializers.py:532 report/api.py:100 report/serializers.py:53 msgid "Model Type" @@ -3722,29 +3718,37 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." -msgstr "Um domínio vazio não é permitido." +msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" -msgstr "Nome de domínio inválido: {domain}" +msgstr "" #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" -msgstr "Carregar Arquivo" +msgstr "" #: common/views.py:84 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:119 @@ -3752,19 +3756,19 @@ msgstr "Carregar Arquivo" #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" -msgstr "Coincidir campos" +msgstr "" #: common/views.py:84 msgid "Match Items" -msgstr "Coincidir Itens" +msgstr "" #: common/views.py:401 msgid "Fields matching failed" -msgstr "Os campos não correspondem" +msgstr "" #: common/views.py:464 msgid "Parts imported" -msgstr "Peças importadas" +msgstr "" #: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 @@ -3775,7 +3779,7 @@ msgstr "Peças importadas" #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" -msgstr "Passo Anterior" +msgstr "" #: company/api.py:144 msgid "Part is Active" @@ -3799,60 +3803,60 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" -msgstr "Empresa" +msgstr "" #: company/models.py:101 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" -msgstr "Empresas" +msgstr "" #: company/models.py:117 msgid "Company description" -msgstr "Descrição da empresa" +msgstr "" #: company/models.py:118 msgid "Description of the company" -msgstr "Descrição da empresa" +msgstr "" #: company/models.py:123 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" -msgstr "Página Web" +msgstr "" #: company/models.py:123 msgid "Company website URL" -msgstr "URL do Site da empresa" +msgstr "" #: company/models.py:128 msgid "Phone number" -msgstr "Número de telefone" +msgstr "" #: company/models.py:130 msgid "Contact phone number" -msgstr "Número de telefone do contato" +msgstr "" #: company/models.py:137 msgid "Contact email address" -msgstr "Endereço de e-mail do contato" +msgstr "" #: company/models.py:142 company/templates/company/company_base.html:145 #: order/models.py:343 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" -msgstr "Contato" +msgstr "" #: company/models.py:144 msgid "Point of contact" -msgstr "Ponto de contato" +msgstr "" #: company/models.py:150 msgid "Link to external company information" -msgstr "Link para informações externas da empresa" +msgstr "" #: company/models.py:163 msgid "Is this company active?" @@ -3860,139 +3864,139 @@ msgstr "" #: company/models.py:168 msgid "is customer" -msgstr "é cliente" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" -msgstr "Você vende itens para esta empresa?" +msgstr "" #: company/models.py:174 msgid "is supplier" -msgstr "é fornecedor" +msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" -msgstr "Você compra itens desta empresa?" +msgstr "" #: company/models.py:180 msgid "is manufacturer" -msgstr "é fabricante" +msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" -msgstr "Esta empresa fabrica peças?" +msgstr "" #: company/models.py:189 msgid "Default currency used for this company" -msgstr "Moeda padrão utilizada para esta empresa" +msgstr "" #: company/models.py:366 msgid "Select company" -msgstr "Selecione a Empresa" +msgstr "" #: company/models.py:371 msgid "Address title" -msgstr "Título do endereço" +msgstr "" #: company/models.py:372 msgid "Title describing the address entry" -msgstr "Título descrevendo a entrada de endereço" +msgstr "" #: company/models.py:378 msgid "Primary address" -msgstr "Endereço Principal" +msgstr "" #: company/models.py:379 msgid "Set as primary address" -msgstr "Definir como endereço principal" +msgstr "" #: company/models.py:384 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" -msgstr "Linha 1" +msgstr "" #: company/models.py:385 msgid "Address line 1" -msgstr "Linha de endereço 1" +msgstr "" #: company/models.py:391 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" -msgstr "Linha 2" +msgstr "" #: company/models.py:392 msgid "Address line 2" -msgstr "Linha de endereço 2" +msgstr "" #: company/models.py:398 company/models.py:399 #: templates/js/translated/company.js:983 msgid "Postal code" -msgstr "Código Postal" +msgstr "" #: company/models.py:405 msgid "City/Region" -msgstr "Cidade/Região" +msgstr "" #: company/models.py:406 msgid "Postal code city/region" -msgstr "Código Postal Cidade / Região" +msgstr "" #: company/models.py:412 msgid "State/Province" -msgstr "Estado/Provincia" +msgstr "" #: company/models.py:413 msgid "State or province" -msgstr "Estado ou Província" +msgstr "" #: company/models.py:419 templates/js/translated/company.js:1001 msgid "Country" -msgstr "País" +msgstr "" #: company/models.py:420 msgid "Address country" -msgstr "País do endereço" +msgstr "" #: company/models.py:426 msgid "Courier shipping notes" -msgstr "Notas de envio da transportadora" +msgstr "" #: company/models.py:427 msgid "Notes for shipping courier" -msgstr "Notas para o envio da transportadora" +msgstr "" #: company/models.py:433 msgid "Internal shipping notes" -msgstr "Notas de envio interno" +msgstr "" #: company/models.py:434 msgid "Shipping notes for internal use" -msgstr "Notas de envio para uso interno" +msgstr "" #: company/models.py:441 msgid "Link to address information (external)" -msgstr "Link para as informações do endereço (externo)" +msgstr "" #: company/models.py:463 company/models.py:574 company/models.py:792 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" -msgstr "Peça do Fabricante" +msgstr "" #: company/models.py:475 company/models.py:760 stock/models.py:766 #: stock/serializers.py:422 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" -msgstr "Peça base" +msgstr "" #: company/models.py:477 company/models.py:762 msgid "Select part" -msgstr "Selecionar peça" +msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4000,14 +4004,14 @@ msgstr "Selecionar peça" #: templates/js/translated/company.js:1611 #: templates/js/translated/table_filters.js:800 msgid "Manufacturer" -msgstr "Fabricante" +msgstr "" #: company/models.py:487 msgid "Select manufacturer" -msgstr "Selecionar fabricante" +msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4015,34 +4019,34 @@ msgstr "Selecionar fabricante" #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" -msgstr "NPF" +msgstr "" #: company/models.py:494 msgid "Manufacturer Part Number" -msgstr "Número de Peça do Fabricante" +msgstr "" #: company/models.py:501 msgid "URL for external manufacturer part link" -msgstr "URL do link externo da peça do fabricante" +msgstr "" #: company/models.py:510 msgid "Manufacturer part description" -msgstr "Descrição da peça do fabricante" +msgstr "" #: company/models.py:581 msgid "Parameter name" -msgstr "Nome do parâmetro" +msgstr "" #: company/models.py:587 report/templates/report/inventree_test_report.html:104 #: stock/models.py:2418 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 #: templates/js/translated/stock.js:1522 msgid "Value" -msgstr "Valor" +msgstr "" #: company/models.py:588 msgid "Parameter value" -msgstr "Valor do Parâmetro" +msgstr "" #: company/models.py:595 company/templates/company/supplier_part.html:168 #: part/admin.py:57 part/models.py:1045 part/models.py:3646 @@ -4050,11 +4054,11 @@ msgstr "Valor do Parâmetro" #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 #: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 msgid "Units" -msgstr "Unidades" +msgstr "" #: company/models.py:596 msgid "Parameter units" -msgstr "Unidades do parâmetro" +msgstr "" #: company/models.py:648 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 @@ -4063,24 +4067,24 @@ msgstr "Unidades do parâmetro" #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 msgid "Supplier Part" -msgstr "Fornecedor da Peça" +msgstr "" #: company/models.py:700 msgid "Pack units must be compatible with the base part units" -msgstr "Unidades de pacote devem ser compatíveis com as unidades de peça base" +msgstr "" #: company/models.py:707 msgid "Pack units must be greater than zero" -msgstr "Unidades de pacote deve ser maior do que zero" +msgstr "" #: company/models.py:721 msgid "Linked manufacturer part must reference the same base part" -msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base" +msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4091,15 +4095,15 @@ msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" -msgstr "Fornecedor" +msgstr "" #: company/models.py:771 msgid "Select supplier" -msgstr "Selecione o fornecedor" +msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" -msgstr "Unidade de reserva de estoque fornecedor" +msgstr "" #: company/models.py:783 msgid "Is this supplier part active?" @@ -4107,15 +4111,15 @@ msgstr "" #: company/models.py:793 msgid "Select manufacturer part" -msgstr "Selecionar peça do fabricante" +msgstr "" #: company/models.py:800 msgid "URL for external supplier part link" -msgstr "URL do link externo da peça do fabricante" +msgstr "" #: company/models.py:809 msgid "Supplier part description" -msgstr "Descrição da peça fornecedor" +msgstr "" #: company/models.py:816 company/templates/company/supplier_part.html:187 #: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 @@ -4126,27 +4130,27 @@ msgstr "Descrição da peça fornecedor" #: report/templates/report/inventree_stock_location_report.html:105 #: stock/serializers.py:710 msgid "Note" -msgstr "Anotação" +msgstr "" #: company/models.py:825 part/models.py:2003 msgid "base cost" -msgstr "preço base" +msgstr "" #: company/models.py:826 part/models.py:2004 msgid "Minimum charge (e.g. stocking fee)" -msgstr "Taxa mínima (ex.: taxa de estoque)" +msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" -msgstr "Embalagem" +msgstr "" #: company/models.py:834 msgid "Part packaging" -msgstr "Embalagem de peças" +msgstr "" #: company/models.py:839 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 @@ -4156,42 +4160,42 @@ msgstr "Embalagem de peças" #: templates/js/translated/purchase_order.js:2084 #: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" -msgstr "Quantidade de embalagens" +msgstr "" #: company/models.py:841 msgid "Total quantity supplied in a single pack. Leave empty for single items." -msgstr "Quantidade total fornecida em um único pacote. Deixe em branco para itens únicos." +msgstr "" #: company/models.py:860 part/models.py:2010 msgid "multiple" -msgstr "múltiplo" +msgstr "" #: company/models.py:861 msgid "Order multiple" -msgstr "Pedir múltiplos" +msgstr "" #: company/models.py:873 msgid "Quantity available from supplier" -msgstr "Quantidade disponível do fornecedor" +msgstr "" #: company/models.py:879 msgid "Availability Updated" -msgstr "Disponibilidade Atualizada" +msgstr "" #: company/models.py:880 msgid "Date of last update of availability data" -msgstr "Data da última atualização da disponibilidade dos dados" +msgstr "" #: company/serializers.py:161 msgid "Default currency used for this supplier" -msgstr "Moeda padrão utilizada para este fornecedor" +msgstr "" #: company/serializers.py:357 part/admin.py:126 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 msgid "In Stock" -msgstr "Em Estoque" +msgstr "" #: company/templates/company/company_base.html:16 #: part/templates/part/part_base.html:146 @@ -4200,34 +4204,34 @@ msgstr "Em Estoque" #: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 msgid "Inactive" -msgstr "Inativo" +msgstr "" #: company/templates/company/company_base.html:27 #: templates/js/translated/purchase_order.js:242 msgid "Create Purchase Order" -msgstr "Criar Pedido de compra" +msgstr "" #: company/templates/company/company_base.html:33 msgid "Company actions" -msgstr "Ações da empresa" +msgstr "" #: company/templates/company/company_base.html:38 msgid "Edit company information" -msgstr "Editar Informações da Empresa" +msgstr "" #: company/templates/company/company_base.html:39 #: templates/js/translated/company.js:445 msgid "Edit Company" -msgstr "Editar Empresa" +msgstr "" #: company/templates/company/company_base.html:43 msgid "Delete company" -msgstr "Excluir a empresa" +msgstr "" #: company/templates/company/company_base.html:44 #: company/templates/company/company_base.html:168 msgid "Delete Company" -msgstr "Excluir Empresa" +msgstr "" #: company/templates/company/company_base.html:53 #: company/templates/company/manufacturer_part.html:51 @@ -4237,29 +4241,29 @@ msgstr "Excluir Empresa" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" -msgstr "Imagem da peça" +msgstr "" #: company/templates/company/company_base.html:61 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" -msgstr "Carregar nova imagem" +msgstr "" #: company/templates/company/company_base.html:64 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" -msgstr "Baixar imagem do URL" +msgstr "" #: company/templates/company/company_base.html:66 #: part/templates/part/part_thumb.html:16 msgid "Delete image" -msgstr "Excluir imagem" +msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4268,81 +4272,81 @@ msgstr "Excluir imagem" #: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" -msgstr "Cliente" +msgstr "" #: company/templates/company/company_base.html:117 msgid "Uses default currency" -msgstr "Usar moeda padrão" +msgstr "" #: company/templates/company/company_base.html:124 order/models.py:353 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 msgid "Address" -msgstr "Endereço" +msgstr "" #: company/templates/company/company_base.html:131 msgid "Phone" -msgstr "Telefone" +msgstr "" #: company/templates/company/company_base.html:211 #: part/templates/part/part_base.html:527 msgid "Remove Image" -msgstr "Remover imagem" +msgstr "" #: company/templates/company/company_base.html:212 msgid "Remove associated image from this company" -msgstr "Remover imagem associada desta empresa" +msgstr "" #: company/templates/company/company_base.html:214 #: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" -msgstr "Remover" +msgstr "" #: company/templates/company/company_base.html:243 #: part/templates/part/part_base.html:559 msgid "Upload Image" -msgstr "Enviar Imagem" +msgstr "" #: company/templates/company/company_base.html:258 #: part/templates/part/part_base.html:613 msgid "Download Image" -msgstr "Baixar Imagem" +msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" -msgstr "Peças do Fornecedor" +msgstr "" #: company/templates/company/detail.html:19 msgid "Create new supplier part" -msgstr "Criar nova peça do fornecedor" +msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:356 msgid "New Supplier Part" -msgstr "Nova peça do fornecedor" +msgstr "" #: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:151 msgid "Manufacturer Parts" -msgstr "Fabricantes de peças" +msgstr "" #: company/templates/company/detail.html:45 msgid "Create new manufacturer part" -msgstr "Criar novo fabricante de peça" +msgstr "" #: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" -msgstr "Nova peça do fabricante" +msgstr "" #: company/templates/company/detail.html:65 msgid "Supplier Stock" -msgstr "Estoque do Fornecedor" +msgstr "" #: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 @@ -4356,17 +4360,17 @@ msgstr "Estoque do Fornecedor" #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:208 msgid "Purchase Orders" -msgstr "Pedidos de compra" +msgstr "" #: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" -msgstr "Criar novo pedido de compra" +msgstr "" #: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" -msgstr "Novo Pedido de Compra" +msgstr "" #: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 @@ -4379,21 +4383,21 @@ msgstr "Novo Pedido de Compra" #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:209 msgid "Sales Orders" -msgstr "Pedidos de vendas" +msgstr "" #: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" -msgstr "Criar novo pedido de venda" +msgstr "" #: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" -msgstr "Novo Pedido de Venda" +msgstr "" #: company/templates/company/detail.html:126 msgid "Assigned Stock" -msgstr "Estoque Atribuído" +msgstr "" #: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 @@ -4404,217 +4408,217 @@ msgstr "Estoque Atribuído" #: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:210 msgid "Return Orders" -msgstr "Pedidos de Devolução" +msgstr "" #: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" -msgstr "Criar novo pedido de devolução" +msgstr "" #: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" -msgstr "Novo Pedido de Devolução" +msgstr "" #: company/templates/company/detail.html:168 msgid "Company Notes" -msgstr "Notas da Empresa" +msgstr "" #: company/templates/company/detail.html:183 msgid "Company Contacts" -msgstr "Contato da Empresa" +msgstr "" #: company/templates/company/detail.html:187 #: company/templates/company/detail.html:188 msgid "Add Contact" -msgstr "Adicionar Contato" +msgstr "" #: company/templates/company/detail.html:206 msgid "Company addresses" -msgstr "Endereços da empresa" +msgstr "" #: company/templates/company/detail.html:210 #: company/templates/company/detail.html:211 msgid "Add Address" -msgstr "Adicionar endereço" +msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" -msgstr "Fabricantes" +msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:227 #: part/templates/part/detail.html:109 part/templates/part/part_base.html:83 msgid "Order part" -msgstr "Pedir peça" +msgstr "" #: company/templates/company/manufacturer_part.html:39 #: templates/js/translated/company.js:1343 msgid "Edit manufacturer part" -msgstr "Editar peça do fabricante" +msgstr "" #: company/templates/company/manufacturer_part.html:43 #: templates/js/translated/company.js:1344 msgid "Delete manufacturer part" -msgstr "Excluir peça do fabricante" +msgstr "" #: company/templates/company/manufacturer_part.html:65 #: company/templates/company/supplier_part.html:97 order/api.py:458 msgid "Internal Part" -msgstr "Peça Interna" +msgstr "" #: company/templates/company/manufacturer_part.html:95 msgid "No manufacturer information available" -msgstr "Nenhuma informação do fabricante disponível" +msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" -msgstr "Fornecedores" +msgstr "" #: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 #: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" -msgstr "Parâmetros" +msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" -msgstr "Novo parâmetro" +msgstr "" #: company/templates/company/manufacturer_part.html:196 #: templates/js/translated/part.js:1423 msgid "Add Parameter" -msgstr "Adicionar Parâmetro" +msgstr "" #: company/templates/company/sidebar.html:6 msgid "Manufactured Parts" -msgstr "Peças Fabricadas" +msgstr "" #: company/templates/company/sidebar.html:10 msgid "Supplied Parts" -msgstr "Peças fornecidas" +msgstr "" #: company/templates/company/sidebar.html:16 msgid "Supplied Stock Items" -msgstr "Itens fornecidos em estoque" +msgstr "" #: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" -msgstr "Itens de Estoque atribuídos" +msgstr "" #: company/templates/company/sidebar.html:33 msgid "Contacts" -msgstr "Contatos" +msgstr "" #: company/templates/company/sidebar.html:35 msgid "Addresses" -msgstr "Endereços" +msgstr "" #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" -msgstr "Ações de peças do fornecedor" +msgstr "" #: company/templates/company/supplier_part.html:55 #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:110 msgid "Order Part" -msgstr "Pedir Peça" +msgstr "" #: company/templates/company/supplier_part.html:60 #: company/templates/company/supplier_part.html:61 msgid "Update Availability" -msgstr "Atualizar disponibilidade" +msgstr "" #: company/templates/company/supplier_part.html:63 #: company/templates/company/supplier_part.html:64 #: templates/js/translated/company.js:294 msgid "Edit Supplier Part" -msgstr "Editar Fornecedor da Peça" +msgstr "" #: company/templates/company/supplier_part.html:68 #: company/templates/company/supplier_part.html:69 #: templates/js/translated/company.js:269 msgid "Duplicate Supplier Part" -msgstr "Duplicar Peça do Fornecedor" +msgstr "" #: company/templates/company/supplier_part.html:73 msgid "Delete Supplier Part" -msgstr "Excluir Fornecedor da Peça" +msgstr "" #: company/templates/company/supplier_part.html:74 msgid "Delete Supplier Part" -msgstr "Excluir Fornecedor da Peça" +msgstr "" #: company/templates/company/supplier_part.html:133 msgid "No supplier information available" -msgstr "Nenhuma informação do fornecedor está disponível" +msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 msgid "SKU" -msgstr "Código (SKU)" +msgstr "" #: company/templates/company/supplier_part.html:206 msgid "Supplier Part Stock" -msgstr "Estoque de Peça do Fornecedor" +msgstr "" #: company/templates/company/supplier_part.html:209 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" -msgstr "Criar novo item de estoque" +msgstr "" #: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" -msgstr "Novo item de estoque" +msgstr "" #: company/templates/company/supplier_part.html:223 msgid "Supplier Part Orders" -msgstr "Pedidos de peças do fornecedor" +msgstr "" #: company/templates/company/supplier_part.html:246 msgid "Pricing Information" -msgstr "Informações de Preço" +msgstr "" #: company/templates/company/supplier_part.html:251 #: templates/js/translated/company.js:398 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" -msgstr "Adicionar parcela de preço" +msgstr "" #: company/templates/company/supplier_part.html:276 msgid "Supplier Part QR Code" -msgstr "QR Code da Peça do Fornecedor" +msgstr "" #: company/templates/company/supplier_part.html:287 msgid "Link Barcode to Supplier Part" -msgstr "Vincular Código de Barras à Peça do Fornecedor" +msgstr "" #: company/templates/company/supplier_part.html:359 msgid "Update Part Availability" -msgstr "Atualizar Disponibilidade de Peças" +msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4623,36 +4627,36 @@ msgstr "Atualizar Disponibilidade de Peças" #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" -msgstr "Itens de Estoque" +msgstr "" #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" -msgstr "Preço do Fornecedor Peça" +msgstr "" #: company/views.py:32 msgid "New Supplier" -msgstr "Novo Fornecedor" +msgstr "" #: company/views.py:38 msgid "New Manufacturer" -msgstr "Novo Fabricante" +msgstr "" #: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" -msgstr "Clientes" +msgstr "" #: company/views.py:44 msgid "New Customer" -msgstr "Novo Cliente" +msgstr "" #: company/views.py:52 msgid "New Company" -msgstr "Nova Empresa" +msgstr "" #: generic/states/tests.py:18 order/status_codes.py:13 msgid "Placed" -msgstr "Colocado" +msgstr "" #: machine/machine_types/label_printer.py:218 msgid "Copies" @@ -4669,7 +4673,7 @@ msgstr "" #: machine/machine_types/label_printer.py:235 order/api.py:1467 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" -msgstr "Desconhecido" +msgstr "" #: machine/machine_types/label_printer.py:236 msgid "Printing" @@ -4762,14 +4766,14 @@ msgstr "" #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/sales_order.js:1883 msgid "Total Price" -msgstr "Preço Total" +msgstr "" #: order/api.py:157 order/serializers.py:90 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" -msgstr "Situação do pedido" +msgstr "" #: order/api.py:161 templates/js/translated/table_filters.js:194 #: templates/js/translated/table_filters.js:779 @@ -4778,14 +4782,14 @@ msgstr "" #: order/api.py:236 msgid "No matching purchase order found" -msgstr "Nenhum pedido de compra correspondente encontrado" +msgstr "" #: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 #: order/models.py:1550 order/models.py:1664 order/models.py:1818 #: order/models.py:2231 order/models.py:2282 #: templates/js/translated/sales_order.js:1524 msgid "Order" -msgstr "Pedido" +msgstr "" #: order/api.py:439 order/api.py:822 msgid "Order Complete" @@ -4807,7 +4811,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" -msgstr "Pedido de Compra" +msgstr "" #: order/api.py:1465 order/models.py:1981 order/models.py:2232 #: order/models.py:2283 order/templates/order/return_order_base.html:9 @@ -4816,122 +4820,122 @@ msgstr "Pedido de Compra" #: templates/js/translated/return_order.js:280 #: templates/js/translated/stock.js:2941 msgid "Return Order" -msgstr "Devolver pedido" +msgstr "" #: order/models.py:91 msgid "Total price for this order" -msgstr "Preço total deste pedido" +msgstr "" #: order/models.py:96 order/serializers.py:70 msgid "Order Currency" -msgstr "Moeda do pedido" +msgstr "" #: order/models.py:99 order/serializers.py:71 msgid "Currency for this order (leave blank to use company default)" -msgstr "Moeda para este pedido (deixe em branco para usar o padrão da empresa)" +msgstr "" #: order/models.py:247 msgid "Contact does not match selected company" -msgstr "O contato não corresponde à empresa selecionada" +msgstr "" #: order/models.py:290 msgid "Order description (optional)" -msgstr "Descrição do pedido (opcional)" +msgstr "" #: order/models.py:299 msgid "Select project code for this order" -msgstr "Selecione o código do projeto para este pedido" +msgstr "" #: order/models.py:303 order/models.py:1301 order/models.py:1717 msgid "Link to external page" -msgstr "Link para página externa" +msgstr "" #: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." -msgstr "Data esperada para entrega do pedido. O Pedido estará atrasado após esta data." +msgstr "" #: order/models.py:325 msgid "Created By" -msgstr "Criado por" +msgstr "" #: order/models.py:333 msgid "User or group responsible for this order" -msgstr "Usuário ou grupo responsável para este pedido" +msgstr "" #: order/models.py:344 msgid "Point of contact for this order" -msgstr "Ponto de contato para este pedido" +msgstr "" #: order/models.py:354 msgid "Company address for this order" -msgstr "Endereço da empresa para este pedido" +msgstr "" #: order/models.py:464 order/models.py:927 msgid "Order reference" -msgstr "Referência do pedido" +msgstr "" #: order/models.py:472 order/models.py:951 msgid "Purchase order status" -msgstr "Situação do pedido de compra" +msgstr "" #: order/models.py:487 msgid "Company from which the items are being ordered" -msgstr "Empresa da qual os itens estão sendo encomendados" +msgstr "" #: order/models.py:498 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" -msgstr "Referencia do fornecedor" +msgstr "" #: order/models.py:499 msgid "Supplier order reference code" -msgstr "Código de referência do pedido fornecedor" +msgstr "" #: order/models.py:508 msgid "received by" -msgstr "recebido por" +msgstr "" #: order/models.py:514 order/models.py:2058 msgid "Issue Date" -msgstr "Data de emissão" +msgstr "" #: order/models.py:515 order/models.py:2059 msgid "Date order was issued" -msgstr "Dia que o pedido foi feito" +msgstr "" #: order/models.py:522 order/models.py:2066 msgid "Date order was completed" -msgstr "Dia que o pedido foi concluído" +msgstr "" #: order/models.py:566 msgid "Part supplier must match PO supplier" -msgstr "Fornecedor de peça deve corresponder a fornecedor da OC" +msgstr "" #: order/models.py:760 msgid "Quantity must be a positive number" -msgstr "Quantidade deve ser um número positivo" +msgstr "" #: order/models.py:939 msgid "Company to which the items are being sold" -msgstr "Empresa para qual os itens foi vendidos" +msgstr "" #: order/models.py:962 order/models.py:2051 msgid "Customer Reference " -msgstr "Referência do Cliente " +msgstr "" #: order/models.py:963 order/models.py:2052 msgid "Customer order reference code" -msgstr "Código de Referência do pedido do cliente" +msgstr "" #: order/models.py:967 order/models.py:1671 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" -msgstr "Data de Envio" +msgstr "" #: order/models.py:976 msgid "shipped by" -msgstr "enviado por" +msgstr "" #: order/models.py:1025 msgid "Order is already complete" @@ -4943,59 +4947,59 @@ msgstr "" #: order/models.py:1032 msgid "Only an open order can be marked as complete" -msgstr "Apenas um pedido aberto pode ser marcado como completo" +msgstr "" #: order/models.py:1036 msgid "Order cannot be completed as there are incomplete shipments" -msgstr "Pedido não pode ser concluído, pois, há envios incompletos" +msgstr "" #: order/models.py:1041 msgid "Order cannot be completed as there are incomplete line items" -msgstr "Pedido não pode ser concluído, pois, há itens na linha incompletos" +msgstr "" #: order/models.py:1273 msgid "Item quantity" -msgstr "Quantidade do item" +msgstr "" #: order/models.py:1290 msgid "Line item reference" -msgstr "Referência do Item em Linha" +msgstr "" #: order/models.py:1297 msgid "Line item notes" -msgstr "Observações do Item de Linha" +msgstr "" #: order/models.py:1309 msgid "Target date for this line item (leave blank to use the target date from the order)" -msgstr "Data alvo para este item de linha (deixe em branco para usar a data alvo do pedido)" +msgstr "" #: order/models.py:1330 msgid "Line item description (optional)" -msgstr "Descrição item de linha (opcional)" +msgstr "" #: order/models.py:1336 msgid "Context" -msgstr "Contexto" +msgstr "" #: order/models.py:1337 msgid "Additional context for this line" -msgstr "Contexto adicional para esta linha" +msgstr "" #: order/models.py:1347 msgid "Unit price" -msgstr "Preço Unitário" +msgstr "" #: order/models.py:1380 msgid "Supplier part must match supplier" -msgstr "A peça do fornecedor deve corresponder ao fornecedor" +msgstr "" #: order/models.py:1387 msgid "deleted" -msgstr "excluído" +msgstr "" #: order/models.py:1415 msgid "Supplier part" -msgstr "Fornecedor da Peça" +msgstr "" #: order/models.py:1422 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 @@ -5005,142 +5009,142 @@ msgstr "Fornecedor da Peça" #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" -msgstr "Recebido" +msgstr "" #: order/models.py:1423 msgid "Number of items received" -msgstr "Número de itens recebidos" +msgstr "" #: order/models.py:1431 stock/models.py:938 stock/serializers.py:556 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" -msgstr "Preço de Compra" +msgstr "" #: order/models.py:1432 msgid "Unit purchase price" -msgstr "Preço unitário de compra" +msgstr "" #: order/models.py:1447 msgid "Where does the Purchaser want this item to be stored?" -msgstr "Onde o Comprador quer que este item seja armazenado?" +msgstr "" #: order/models.py:1538 msgid "Virtual part cannot be assigned to a sales order" -msgstr "Peça virtual não pode ser atribuída a um pedido de venda" +msgstr "" #: order/models.py:1543 msgid "Only salable parts can be assigned to a sales order" -msgstr "Apenas peças vendáveis podem ser atribuídas a um pedido de venda" +msgstr "" #: order/models.py:1569 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" -msgstr "Preço de Venda" +msgstr "" #: order/models.py:1570 msgid "Unit sale price" -msgstr "Preço de venda unitário" +msgstr "" #: order/models.py:1579 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" -msgstr "Enviado" +msgstr "" #: order/models.py:1580 msgid "Shipped quantity" -msgstr "Quantidade enviada" +msgstr "" #: order/models.py:1672 msgid "Date of shipment" -msgstr "Data do envio" +msgstr "" #: order/models.py:1678 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" -msgstr "Data de Entrega" +msgstr "" #: order/models.py:1679 msgid "Date of delivery of shipment" -msgstr "Data da entrega do envio" +msgstr "" #: order/models.py:1687 msgid "Checked By" -msgstr "Verificado por" +msgstr "" #: order/models.py:1688 msgid "User who checked this shipment" -msgstr "Usuário que verificou esta remessa" +msgstr "" #: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 #: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 msgid "Shipment" -msgstr "Remessa" +msgstr "" #: order/models.py:1696 msgid "Shipment number" -msgstr "Número do Envio" +msgstr "" #: order/models.py:1704 msgid "Tracking Number" -msgstr "Número de Rastreamento" +msgstr "" #: order/models.py:1705 msgid "Shipment tracking information" -msgstr "Informação de rastreamento da remessa" +msgstr "" #: order/models.py:1712 msgid "Invoice Number" -msgstr "Número da Fatura" +msgstr "" #: order/models.py:1713 msgid "Reference number for associated invoice" -msgstr "Número de referência para fatura associada" +msgstr "" #: order/models.py:1733 msgid "Shipment has already been sent" -msgstr "O pedido já foi enviado" +msgstr "" #: order/models.py:1736 msgid "Shipment has no allocated stock items" -msgstr "Remessa não foi alocada nos itens de estoque" +msgstr "" #: order/models.py:1854 order/models.py:1856 msgid "Stock item has not been assigned" -msgstr "O item do estoque não foi atribuído" +msgstr "" #: order/models.py:1863 msgid "Cannot allocate stock item to a line with a different part" -msgstr "Não é possível alocar o item de estoque para uma linha de uma peça diferente" +msgstr "" #: order/models.py:1866 msgid "Cannot allocate stock to a line without a part" -msgstr "Não é possível alocar uma linha sem uma peça" +msgstr "" #: order/models.py:1869 msgid "Allocation quantity cannot exceed stock quantity" -msgstr "A quantidade de alocação não pode exceder a quantidade em estoque" +msgstr "" #: order/models.py:1888 order/serializers.py:1219 msgid "Quantity must be 1 for serialized stock item" -msgstr "Quantidade deve ser 1 para item de estoque serializado" +msgstr "" #: order/models.py:1891 msgid "Sales order does not match shipment" -msgstr "Pedidos de venda não coincidem com a remessa" +msgstr "" #: order/models.py:1892 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" -msgstr "Remessa não coincide com pedido de venda" +msgstr "" #: order/models.py:1900 msgid "Line" -msgstr "Linha" +msgstr "" #: order/models.py:1909 msgid "Sales order shipment reference" -msgstr "Referência de remessa do pedido de venda" +msgstr "" #: order/models.py:1922 order/models.py:2239 #: templates/js/translated/return_order.js:721 @@ -5149,52 +5153,52 @@ msgstr "" #: order/models.py:1923 msgid "Select stock item to allocate" -msgstr "Selecione o item de estoque para alocar" +msgstr "" #: order/models.py:1932 msgid "Enter stock allocation quantity" -msgstr "Insira a quantidade de atribuição de estoque" +msgstr "" #: order/models.py:2021 msgid "Return Order reference" -msgstr "Referência de Pedidos de Devolução" +msgstr "" #: order/models.py:2033 msgid "Company from which items are being returned" -msgstr "Empresa da qual os itens estão sendo retornados" +msgstr "" #: order/models.py:2045 msgid "Return order status" -msgstr "Estado do pedido de retorno" +msgstr "" #: order/models.py:2224 msgid "Only serialized items can be assigned to a Return Order" -msgstr "Somente itens da série podem ser devolvidos" +msgstr "" #: order/models.py:2240 msgid "Select item to return from customer" -msgstr "Selecione o item a ser devolvido pelo cliente" +msgstr "" #: order/models.py:2246 msgid "Received Date" -msgstr "Data de Recebimento" +msgstr "" #: order/models.py:2247 msgid "The date this this return item was received" -msgstr "Data que o pedido a ser devolvido foi recebido" +msgstr "" #: order/models.py:2258 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" -msgstr "Despesa/gastos" +msgstr "" #: order/models.py:2259 msgid "Outcome for this line item" -msgstr "Gastos com esta linha de itens" +msgstr "" #: order/models.py:2266 msgid "Cost associated with return or repair for this line item" -msgstr "Gastos para reparar e/ou devolver esta linha de itens" +msgstr "" #: order/serializers.py:79 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 @@ -5203,7 +5207,7 @@ msgstr "Gastos para reparar e/ou devolver esta linha de itens" #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" -msgstr "Itens de linha" +msgstr "" #: order/serializers.py:83 msgid "Completed Lines" @@ -5211,19 +5215,19 @@ msgstr "" #: order/serializers.py:286 msgid "Order cannot be cancelled" -msgstr "Pedido não pode ser cancelado" +msgstr "" #: order/serializers.py:301 order/serializers.py:1235 msgid "Allow order to be closed with incomplete line items" -msgstr "Permitir que o pedido seja fechado com itens de linha incompletos" +msgstr "" #: order/serializers.py:311 order/serializers.py:1245 msgid "Order has incomplete line items" -msgstr "O pedido tem itens da linha incompletos" +msgstr "" #: order/serializers.py:439 msgid "Order is not open" -msgstr "O pedido não está aberto" +msgstr "" #: order/serializers.py:460 msgid "Auto Pricing" @@ -5235,7 +5239,7 @@ msgstr "" #: order/serializers.py:472 msgid "Purchase price currency" -msgstr "Moeda de preço de compra" +msgstr "" #: order/serializers.py:478 msgid "Merge Items" @@ -5247,205 +5251,205 @@ msgstr "" #: order/serializers.py:498 msgid "Supplier part must be specified" -msgstr "A peça do fornecedor deve ser especificada" +msgstr "" #: order/serializers.py:501 msgid "Purchase order must be specified" -msgstr "O pedido de compra deve ser especificado" +msgstr "" #: order/serializers.py:509 msgid "Supplier must match purchase order" -msgstr "O fornecedor deve corresponder o pedido de compra" +msgstr "" #: order/serializers.py:510 msgid "Purchase order must match supplier" -msgstr "Pedido de compra deve corresponder ao fornecedor" +msgstr "" #: order/serializers.py:549 order/serializers.py:1313 msgid "Line Item" -msgstr "Itens de linha" +msgstr "" #: order/serializers.py:555 msgid "Line item does not match purchase order" -msgstr "O item de linha não corresponde ao pedido de compra" +msgstr "" #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 msgid "Select destination location for received items" -msgstr "Selecione o local de destino para os itens recebidos" +msgstr "" #: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" -msgstr "Digite o código do lote para itens de estoque recebidos" +msgstr "" #: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" -msgstr "Digite o número de série para itens de estoque recebidos" +msgstr "" #: order/serializers.py:600 templates/js/translated/barcode.js:52 msgid "Barcode" -msgstr "Código de barras" +msgstr "" #: order/serializers.py:601 msgid "Scanned barcode" -msgstr "Código de barras lido" +msgstr "" #: order/serializers.py:617 msgid "Barcode is already in use" -msgstr "Código de barras já em uso" +msgstr "" #: order/serializers.py:641 msgid "An integer quantity must be provided for trackable parts" -msgstr "Quantidade inteira deve ser fornecida para peças rastreáveis" +msgstr "" #: order/serializers.py:689 order/serializers.py:1673 msgid "Line items must be provided" -msgstr "Itens de linha deve ser providenciados" +msgstr "" #: order/serializers.py:705 msgid "Destination location must be specified" -msgstr "Loca de destino deve ser especificado" +msgstr "" #: order/serializers.py:716 msgid "Supplied barcode values must be unique" -msgstr "Código de barras fornecido deve ser único" +msgstr "" #: order/serializers.py:1062 msgid "Sale price currency" -msgstr "Moeda de preço de venda" +msgstr "" #: order/serializers.py:1122 msgid "No shipment details provided" -msgstr "Nenhum detalhe da remessa fornecido" +msgstr "" #: order/serializers.py:1183 order/serializers.py:1322 msgid "Line item is not associated with this order" -msgstr "Item de linha não está associado a este pedido" +msgstr "" #: order/serializers.py:1202 msgid "Quantity must be positive" -msgstr "Quantidade deve ser positiva" +msgstr "" #: order/serializers.py:1332 msgid "Enter serial numbers to allocate" -msgstr "Digite números de série para alocar" +msgstr "" #: order/serializers.py:1354 order/serializers.py:1460 msgid "Shipment has already been shipped" -msgstr "O pedido já foi enviado" +msgstr "" #: order/serializers.py:1357 order/serializers.py:1463 msgid "Shipment is not associated with this order" -msgstr "O envio não está associado a este pedido" +msgstr "" #: order/serializers.py:1404 msgid "No match found for the following serial numbers" -msgstr "Nenhuma correspondência encontrada para os seguintes números de série" +msgstr "" #: order/serializers.py:1411 msgid "The following serial numbers are already allocated" -msgstr "Os seguintes números de série já estão alocados" +msgstr "" #: order/serializers.py:1627 msgid "Return order line item" -msgstr "Devolver item do pedido" +msgstr "" #: order/serializers.py:1633 msgid "Line item does not match return order" -msgstr "Item do pedido não bate com o pedido de devolução" +msgstr "" #: order/serializers.py:1636 msgid "Line item has already been received" -msgstr "Item do pedido já foi recebido" +msgstr "" #: order/serializers.py:1665 msgid "Items can only be received against orders which are in progress" -msgstr "Itens só podem ser recebidos de pedidos em processamento" +msgstr "" #: order/serializers.py:1743 msgid "Line price currency" -msgstr "Tipo de moeda para o item do pedido" +msgstr "" #: order/status_codes.py:16 order/status_codes.py:46 stock/status_codes.py:16 msgid "Lost" -msgstr "Perdido" +msgstr "" #: order/status_codes.py:17 order/status_codes.py:47 stock/status_codes.py:22 msgid "Returned" -msgstr "Retornado" +msgstr "" #: order/status_codes.py:40 order/status_codes.py:67 msgid "In Progress" -msgstr "Em Progresso" +msgstr "" #: order/status_codes.py:85 msgid "Return" -msgstr "Devolução" +msgstr "" #: order/status_codes.py:88 msgid "Repair" -msgstr "Consertar" +msgstr "" #: order/status_codes.py:91 msgid "Replace" -msgstr "Substituir" +msgstr "" #: order/status_codes.py:94 msgid "Refund" -msgstr "Reembolsar" +msgstr "" #: order/status_codes.py:97 msgid "Reject" -msgstr "Recusar" +msgstr "" #: order/tasks.py:25 msgid "Overdue Purchase Order" -msgstr "Pedido de compra vencido" +msgstr "" #: order/tasks.py:30 #, python-brace-format msgid "Purchase order {po} is now overdue" -msgstr "Pedido de compra {po} está atrasada" +msgstr "" #: order/tasks.py:75 msgid "Overdue Sales Order" -msgstr "Pedido de venda vencido" +msgstr "" #: order/tasks.py:80 #, python-brace-format msgid "Sales order {so} is now overdue" -msgstr "Pedido de venda {so} está atrasada" +msgstr "" #: order/templates/order/order_base.html:51 msgid "Print purchase order report" -msgstr "Imprimir relatório do pedido de compra" +msgstr "" #: order/templates/order/order_base.html:53 #: order/templates/order/return_order_base.html:62 #: order/templates/order/sales_order_base.html:62 msgid "Export order to file" -msgstr "Exportar pedido ao arquivo" +msgstr "" #: order/templates/order/order_base.html:59 #: order/templates/order/return_order_base.html:72 #: order/templates/order/sales_order_base.html:71 msgid "Order actions" -msgstr "Ações de pedido" +msgstr "" #: order/templates/order/order_base.html:64 #: order/templates/order/return_order_base.html:76 #: order/templates/order/sales_order_base.html:75 msgid "Edit order" -msgstr "Editar pedido" +msgstr "" #: order/templates/order/order_base.html:68 #: order/templates/order/return_order_base.html:78 #: order/templates/order/sales_order_base.html:77 msgid "Cancel order" -msgstr "Cancelar pedido" +msgstr "" #: order/templates/order/order_base.html:73 msgid "Duplicate order" -msgstr "Duplicar pedido" +msgstr "" #: order/templates/order/order_base.html:79 #: order/templates/order/order_base.html:80 @@ -5454,87 +5458,87 @@ msgstr "Duplicar pedido" #: order/templates/order/sales_order_base.html:83 #: order/templates/order/sales_order_base.html:84 msgid "Issue Order" -msgstr "Emitir Pedido" +msgstr "" #: order/templates/order/order_base.html:83 #: order/templates/order/return_order_base.html:86 msgid "Mark order as complete" -msgstr "Marcar pedido como concluído" +msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 #: order/templates/order/sales_order_base.html:97 msgid "Complete Order" -msgstr "Completar Pedido" +msgstr "" #: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" -msgstr "Miniatura da peça do fornecedor" +msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 #: order/templates/order/sales_order_base.html:110 msgid "Order Reference" -msgstr "Referência do Pedido" +msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 #: order/templates/order/sales_order_base.html:115 msgid "Order Description" -msgstr "Descrição do Pedido" +msgstr "" #: order/templates/order/order_base.html:141 msgid "No suppplier information available" -msgstr "Nenhuma informação do fornecedor disponível" +msgstr "" #: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" -msgstr "Itens de Linha Concluídos" +msgstr "" #: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:167 #: order/templates/order/sales_order_base.html:177 msgid "Incomplete" -msgstr "Incompleto" +msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 #: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" -msgstr "Emitido" +msgstr "" #: order/templates/order/order_base.html:224 msgid "Total cost" -msgstr "Custo total" +msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 #: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" -msgstr "O custo total não pôde ser calculado" +msgstr "" #: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" -msgstr "Código QR do Pedido de Compra" +msgstr "" #: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" -msgstr "Vincular o Código de Barras ao Pedido de Compra" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" -msgstr "Seleções ausentes para as seguintes colunas necessárias" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:20 #: part/templates/part/import_wizard/ajax_match_fields.html:20 #: part/templates/part/import_wizard/match_fields.html:20 #: templates/patterns/wizard/match_fields.html:19 msgid "Duplicate selections found, see below. Fix them then retry submitting." -msgstr "Seleções duplicadas encontradas, veja abaixo. Corrija-as e tente enviar novamente." +msgstr "" #: order/templates/order/order_wizard/match_fields.html:29 #: order/templates/order/order_wizard/match_parts.html:21 @@ -5542,28 +5546,28 @@ msgstr "Seleções duplicadas encontradas, veja abaixo. Corrija-as e tente envia #: part/templates/part/import_wizard/match_references.html:21 #: templates/patterns/wizard/match_fields.html:28 msgid "Submit Selections" -msgstr "Enviar Seleções" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:35 #: part/templates/part/import_wizard/ajax_match_fields.html:28 #: part/templates/part/import_wizard/match_fields.html:35 #: templates/patterns/wizard/match_fields.html:34 msgid "File Fields" -msgstr "Campos de arquivo" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:42 #: part/templates/part/import_wizard/ajax_match_fields.html:35 #: part/templates/part/import_wizard/match_fields.html:42 #: templates/patterns/wizard/match_fields.html:41 msgid "Remove column" -msgstr "Remover coluna" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:60 #: part/templates/part/import_wizard/ajax_match_fields.html:53 #: part/templates/part/import_wizard/match_fields.html:60 #: templates/patterns/wizard/match_fields.html:59 msgid "Duplicate selection" -msgstr "Duplicar seleção" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:71 #: order/templates/order/order_wizard/match_parts.html:52 @@ -5580,35 +5584,35 @@ msgstr "Duplicar seleção" #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" -msgstr "Remover linha" +msgstr "" #: order/templates/order/order_wizard/match_parts.html:12 #: part/templates/part/import_wizard/ajax_match_references.html:12 #: part/templates/part/import_wizard/match_references.html:12 msgid "Errors exist in the submitted data" -msgstr "Há erros nos dados enviados" +msgstr "" #: order/templates/order/order_wizard/match_parts.html:28 #: part/templates/part/import_wizard/ajax_match_references.html:21 #: part/templates/part/import_wizard/match_references.html:28 msgid "Row" -msgstr "Linha" +msgstr "" #: order/templates/order/order_wizard/match_parts.html:29 msgid "Select Supplier Part" -msgstr "Selecionar Fornecedor da Peça" +msgstr "" #: order/templates/order/order_wizard/po_upload.html:8 msgid "Return to Orders" -msgstr "Retornar para Pedidos" +msgstr "" #: order/templates/order/order_wizard/po_upload.html:13 msgid "Upload File for Purchase Order" -msgstr "Carregar Arquivo para o Pedido de Compra" +msgstr "" #: order/templates/order/order_wizard/po_upload.html:14 msgid "Order is already processed. Files cannot be uploaded." -msgstr "O pedido já está processado. Arquivos não podem ser enviados." +msgstr "" #: order/templates/order/order_wizard/po_upload.html:27 #: part/templates/part/import_wizard/ajax_part_upload.html:10 @@ -5616,15 +5620,15 @@ msgstr "O pedido já está processado. Arquivos não podem ser enviados." #: templates/patterns/wizard/upload.html:13 #, python-format msgid "Step %(step)s of %(count)s" -msgstr "Passo %(step)s de %(count)s" +msgstr "" #: order/templates/order/po_sidebar.html:7 msgid "Received Stock" -msgstr "Estoque Recebido" +msgstr "" #: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" -msgstr "Itens do Pedido de Compra" +msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 @@ -5633,57 +5637,57 @@ msgstr "Itens do Pedido de Compra" #: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" -msgstr "Adicionar item de linha" +msgstr "" #: order/templates/order/purchase_order_detail.html:31 #: order/templates/order/purchase_order_detail.html:32 #: order/templates/order/return_order_detail.html:28 #: order/templates/order/return_order_detail.html:29 msgid "Receive Line Items" -msgstr "Receber os itens do pedido" +msgstr "" #: order/templates/order/purchase_order_detail.html:50 #: order/templates/order/return_order_detail.html:45 #: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" -msgstr "Linhas Extra" +msgstr "" #: order/templates/order/purchase_order_detail.html:56 #: order/templates/order/return_order_detail.html:51 #: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" -msgstr "Adicionar Linha Extra" +msgstr "" #: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" -msgstr "Itens Recebidos" +msgstr "" #: order/templates/order/purchase_order_detail.html:99 #: order/templates/order/return_order_detail.html:85 #: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" -msgstr "Notas do Pedido" +msgstr "" #: order/templates/order/return_order_base.html:18 #: order/templates/order/sales_order_base.html:18 msgid "Customer logo thumbnail" -msgstr "Miniatura logotipo do cliente" +msgstr "" #: order/templates/order/return_order_base.html:60 msgid "Print return order report" -msgstr "Imprimir guia de devolução" +msgstr "" #: order/templates/order/return_order_base.html:64 #: order/templates/order/sales_order_base.html:64 msgid "Print packing list" -msgstr "Imprimir lista de pacotes" +msgstr "" #: order/templates/order/return_order_base.html:138 #: order/templates/order/sales_order_base.html:155 #: templates/js/translated/return_order.js:308 #: templates/js/translated/sales_order.js:833 msgid "Customer Reference" -msgstr "Referência do Cliente" +msgstr "" #: order/templates/order/return_order_base.html:195 #: order/templates/order/sales_order_base.html:239 @@ -5696,28 +5700,28 @@ msgstr "Referência do Cliente" #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 msgid "Total Cost" -msgstr "Custo Total" +msgstr "" #: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" -msgstr "Código QR do Pedido de Devolução" +msgstr "" #: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" -msgstr "Vincular Código de Barras a Pedido de Devolução" +msgstr "" #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" -msgstr "Detalhes do pedido" +msgstr "" #: order/templates/order/sales_order_base.html:60 msgid "Print sales order report" -msgstr "Imprimir Relatório do Pedido de Venda" +msgstr "" #: order/templates/order/sales_order_base.html:88 #: order/templates/order/sales_order_base.html:89 msgid "Ship Items" -msgstr "Enviar itens" +msgstr "" #: order/templates/order/sales_order_base.html:92 #: order/templates/order/sales_order_base.html:93 @@ -5727,79 +5731,79 @@ msgstr "" #: order/templates/order/sales_order_base.html:96 #: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" -msgstr "Concluir Pedido de Venda" +msgstr "" #: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" -msgstr "Este Pedido de Venda não foi totalmente alocado" +msgstr "" #: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" -msgstr "Envios concluídos" +msgstr "" #: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" -msgstr "Código QR do Pedido de Venda" +msgstr "" #: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" -msgstr "Vincular Código de Barras ao Pedido de Venda" +msgstr "" #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" -msgstr "Itens do Pedido de Venda" +msgstr "" #: order/templates/order/sales_order_detail.html:67 #: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" -msgstr "Envios Pendentes" +msgstr "" #: order/templates/order/sales_order_detail.html:71 #: templates/js/translated/bom.js:1277 templates/js/translated/filters.js:296 msgid "Actions" -msgstr "Ações" +msgstr "" #: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" -msgstr "Nova Remessa" +msgstr "" #: order/views.py:120 msgid "Match Supplier Parts" -msgstr "Corresponder Peças com Fornecedor" +msgstr "" #: order/views.py:406 msgid "Sales order not found" -msgstr "Pedido de Venda não encontrado" +msgstr "" #: order/views.py:412 msgid "Price not found" -msgstr "Preço não encontrado" +msgstr "" #: order/views.py:415 #, python-brace-format msgid "Updated {part} unit-price to {price}" -msgstr "Atualizado {part} unid.-preço para {price}" +msgstr "" #: order/views.py:421 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" -msgstr "Atualizado {part} unid.-preço para {price} e quantidade para {qty}" +msgstr "" #: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" -msgstr "ID da Peça" +msgstr "" #: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 #: stock/admin.py:156 msgid "Part Name" -msgstr "Nome da Peça" +msgstr "" #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" -msgstr "Descrição da Peça" +msgstr "" #: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 @@ -5812,75 +5816,75 @@ msgstr "" #: report/models.py:162 templates/js/translated/part.js:1232 #: templates/js/translated/part.js:2347 msgid "Revision" -msgstr "Revisão" +msgstr "" #: part/admin.py:53 part/admin.py:319 part/models.py:922 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" -msgstr "Palavras chave" +msgstr "" #: part/admin.py:60 msgid "Part Image" -msgstr "Imagem da Peça" +msgstr "" #: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" -msgstr "ID da Categoria" +msgstr "" #: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 msgid "Category Name" -msgstr "Nome da Categoria" +msgstr "" #: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" -msgstr "ID Local Padrão" +msgstr "" #: part/admin.py:76 msgid "Default Supplier ID" -msgstr "ID de Fornecedor Padrão" +msgstr "" #: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 msgid "Variant Of" -msgstr "Variante de" +msgstr "" #: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 msgid "Minimum Stock" -msgstr "Estoque Mínimo" +msgstr "" #: part/admin.py:138 part/templates/part/part_sidebar.html:27 msgid "Used In" -msgstr "Usado em" +msgstr "" #: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 #: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 msgid "Building" -msgstr "Produzindo" +msgstr "" #: part/admin.py:155 part/models.py:3088 part/models.py:3102 #: templates/js/translated/part.js:970 msgid "Minimum Cost" -msgstr "Custo Mínimo" +msgstr "" #: part/admin.py:158 part/models.py:3095 part/models.py:3109 #: templates/js/translated/part.js:980 msgid "Maximum Cost" -msgstr "Custo Máximo" +msgstr "" #: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 msgid "Parent ID" -msgstr "ID Paternal" +msgstr "" #: part/admin.py:312 part/admin.py:394 stock/admin.py:61 msgid "Parent Name" -msgstr "Nome Paternal" +msgstr "" #: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" -msgstr "Caminho da Categoria" +msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5889,35 +5893,35 @@ msgstr "Caminho da Categoria" #: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" -msgstr "Peças" +msgstr "" #: part/admin.py:378 msgid "BOM Level" -msgstr "Nível da LDM" +msgstr "" #: part/admin.py:381 msgid "BOM Item ID" -msgstr "ID Item LDM" +msgstr "" #: part/admin.py:391 msgid "Parent IPN" -msgstr "IPN Paternal" +msgstr "" #: part/admin.py:402 part/models.py:3946 msgid "Part IPN" -msgstr "IPN da Peça" +msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" -msgstr "Preço Mínimo" +msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" -msgstr "Preço Máximo" +msgstr "" #: part/api.py:104 msgid "Starred" @@ -5936,138 +5940,146 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" -msgstr "Pedido de compra recebido" - -#: part/api.py:618 -msgid "Outgoing Sales Order" -msgstr "Pedidos de Venda Feitos" +msgstr "" #: part/api.py:634 +msgid "Outgoing Sales Order" +msgstr "" + +#: part/api.py:650 msgid "Stock produced by Build Order" -msgstr "Estoque produzido pelo Pedido de Produção" +msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" -msgstr "Estoque obrigatório para Pedido de Produção" +msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" -msgstr "Válido" +msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" -msgstr "Validar a Lista de Materiais completa" +msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" -msgstr "Esta opção deve ser selecionada" +msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" -msgstr "Categoria" +msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" #: part/bom.py:170 part/models.py:104 part/models.py:975 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" -msgstr "Local Padrão" +msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" -msgstr "Estoque Total" +msgstr "" #: part/forms.py:49 msgid "Input quantity for price calculation" -msgstr "Quantidade para o cálculo de preço" +msgstr "" #: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" -msgstr "Categoria da Peça" +msgstr "" #: part/models.py:86 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" -msgstr "Categorias de Peça" +msgstr "" #: part/models.py:105 msgid "Default location for parts in this category" -msgstr "Local padrão para peças desta categoria" +msgstr "" #: part/models.py:110 stock/models.py:174 templates/js/translated/part.js:2810 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" -msgstr "Estrutural" +msgstr "" #: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "Peças não podem ser diretamente atribuídas a uma categoria estrutural, mas podem ser atribuídas a categorias filhas." +msgstr "" #: part/models.py:121 msgid "Default keywords" -msgstr "Palavras-chave Padrão" +msgstr "" #: part/models.py:122 msgid "Default keywords for parts in this category" -msgstr "Palavras-chave padrão para peças nesta categoria" +msgstr "" #: part/models.py:128 stock/models.py:86 stock/models.py:157 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" -msgstr "Ícone" +msgstr "" #: part/models.py:129 stock/models.py:158 msgid "Icon (optional)" -msgstr "Ícone (opcional)" +msgstr "" #: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "Você não pode tornar esta categoria em estrutural, pois, algumas partes já estão alocadas!" +msgstr "" #: part/models.py:485 msgid "Cannot delete this part as it is still active" @@ -6079,312 +6091,312 @@ msgstr "" #: part/models.py:528 msgid "Invalid choice for parent part" -msgstr "Escolha inválida para peça parental" +msgstr "" #: part/models.py:576 part/models.py:583 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" -msgstr "Peça '{self}' não pode ser utilizada na BOM para '{parent}' (recursiva)" +msgstr "" #: part/models.py:595 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" -msgstr "Peça '{parent}' é usada na BOM para '{self}' (recursiva)" +msgstr "" #: part/models.py:658 #, python-brace-format msgid "IPN must match regex pattern {pattern}" -msgstr "IPN deve corresponder ao padrão regex {pattern}" +msgstr "" #: part/models.py:736 msgid "Stock item with this serial number already exists" -msgstr "Item em estoque com este número de série já existe" +msgstr "" #: part/models.py:837 msgid "Duplicate IPN not allowed in part settings" -msgstr "Não é permitido duplicar IPN em configurações de partes" +msgstr "" #: part/models.py:847 msgid "Part with this Name, IPN and Revision already exists." -msgstr "Uma parte com este Nome, IPN e Revisão já existe." +msgstr "" #: part/models.py:862 msgid "Parts cannot be assigned to structural part categories!" -msgstr "Peças não podem ser atribuídas a categorias estruturais!" +msgstr "" #: part/models.py:891 part/models.py:3945 msgid "Part name" -msgstr "Nome da peça" +msgstr "" #: part/models.py:896 msgid "Is Template" -msgstr "É um modelo" +msgstr "" #: part/models.py:897 msgid "Is this part a template part?" -msgstr "Esta peça é uma peça modelo?" +msgstr "" #: part/models.py:907 msgid "Is this part a variant of another part?" -msgstr "Esta peça é variante de outra peça?" +msgstr "" #: part/models.py:915 msgid "Part description (optional)" -msgstr "Descrição da peça (opcional)" +msgstr "" #: part/models.py:923 msgid "Part keywords to improve visibility in search results" -msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" +msgstr "" #: part/models.py:933 msgid "Part category" -msgstr "Categoria da Peça" +msgstr "" #: part/models.py:941 msgid "Internal Part Number" -msgstr "Numero interno do produto" +msgstr "" #: part/models.py:948 msgid "Part revision or version number" -msgstr "Revisão de peça ou número de versão" +msgstr "" #: part/models.py:973 msgid "Where is this item normally stored?" -msgstr "Onde este item é armazenado normalmente?" +msgstr "" #: part/models.py:1019 part/templates/part/part_base.html:376 msgid "Default Supplier" -msgstr "Fornecedor Padrão" +msgstr "" #: part/models.py:1020 msgid "Default supplier part" -msgstr "Fornecedor padrão da peça" +msgstr "" #: part/models.py:1027 msgid "Default Expiry" -msgstr "Validade Padrão" +msgstr "" #: part/models.py:1028 msgid "Expiry time (in days) for stock items of this part" -msgstr "Validade (em dias) para itens do estoque desta peça" +msgstr "" #: part/models.py:1037 msgid "Minimum allowed stock level" -msgstr "Nível mínimo de estoque permitido" +msgstr "" #: part/models.py:1046 msgid "Units of measure for this part" -msgstr "Unidade de medida para esta peça" +msgstr "" #: part/models.py:1053 msgid "Can this part be built from other parts?" -msgstr "Essa peça pode ser construída a partir de outras peças?" +msgstr "" #: part/models.py:1059 msgid "Can this part be used to build other parts?" -msgstr "Essa peça pode ser usada para construir outras peças?" +msgstr "" #: part/models.py:1065 msgid "Does this part have tracking for unique items?" -msgstr "Esta parte tem rastreamento para itens únicos?" +msgstr "" #: part/models.py:1071 msgid "Can this part be purchased from external suppliers?" -msgstr "Esta peça pode ser comprada de fornecedores externos?" +msgstr "" #: part/models.py:1077 msgid "Can this part be sold to customers?" -msgstr "Esta peça pode ser vendida a clientes?" +msgstr "" #: part/models.py:1081 msgid "Is this part active?" -msgstr "Esta parte está ativa?" +msgstr "" #: part/models.py:1087 msgid "Is this a virtual part, such as a software product or license?" -msgstr "Esta é uma peça virtual, como um software de produto ou licença?" +msgstr "" #: part/models.py:1093 msgid "BOM checksum" -msgstr "Soma de Verificação da LDM" +msgstr "" #: part/models.py:1094 msgid "Stored BOM checksum" -msgstr "Soma de verificação da LDM armazenada" +msgstr "" #: part/models.py:1102 msgid "BOM checked by" -msgstr "LDM conferida por" +msgstr "" #: part/models.py:1107 msgid "BOM checked date" -msgstr "LDM verificada no dia" +msgstr "" #: part/models.py:1123 msgid "Creation User" -msgstr "Criação de Usuário" +msgstr "" #: part/models.py:1133 msgid "Owner responsible for this part" -msgstr "Proprietário responsável por esta peça" +msgstr "" #: part/models.py:1138 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" -msgstr "Último Balanço" +msgstr "" #: part/models.py:2011 msgid "Sell multiple" -msgstr "Venda múltipla" +msgstr "" #: part/models.py:3002 msgid "Currency used to cache pricing calculations" -msgstr "Moeda usada para armazenar os cálculos de preços" +msgstr "" #: part/models.py:3018 msgid "Minimum BOM Cost" -msgstr "Custo Mínimo da LDM" +msgstr "" #: part/models.py:3019 msgid "Minimum cost of component parts" -msgstr "Custo mínimo das peças componentes" +msgstr "" #: part/models.py:3025 msgid "Maximum BOM Cost" -msgstr "Custo Máximo da LDM" +msgstr "" #: part/models.py:3026 msgid "Maximum cost of component parts" -msgstr "Custo máximo das peças componentes" +msgstr "" #: part/models.py:3032 msgid "Minimum Purchase Cost" -msgstr "Custo Mínimo de Compra" +msgstr "" #: part/models.py:3033 msgid "Minimum historical purchase cost" -msgstr "Custo mínimo histórico de compra" +msgstr "" #: part/models.py:3039 msgid "Maximum Purchase Cost" -msgstr "Custo Máximo de Compra" +msgstr "" #: part/models.py:3040 msgid "Maximum historical purchase cost" -msgstr "Custo máximo histórico de compra" +msgstr "" #: part/models.py:3046 msgid "Minimum Internal Price" -msgstr "Preço Interno Mínimo" +msgstr "" #: part/models.py:3047 msgid "Minimum cost based on internal price breaks" -msgstr "Custo mínimo baseado nos intervalos de preço internos" +msgstr "" #: part/models.py:3053 msgid "Maximum Internal Price" -msgstr "Preço Interno Máximo" +msgstr "" #: part/models.py:3054 msgid "Maximum cost based on internal price breaks" -msgstr "Custo máximo baseado nos intervalos de preço internos" +msgstr "" #: part/models.py:3060 msgid "Minimum Supplier Price" -msgstr "Preço Mínimo do Fornecedor" +msgstr "" #: part/models.py:3061 msgid "Minimum price of part from external suppliers" -msgstr "Preço mínimo da peça de fornecedores externos" +msgstr "" #: part/models.py:3067 msgid "Maximum Supplier Price" -msgstr "Preço Máximo do Fornecedor" +msgstr "" #: part/models.py:3068 msgid "Maximum price of part from external suppliers" -msgstr "Preço máximo da peça de fornecedores externos" +msgstr "" #: part/models.py:3074 msgid "Minimum Variant Cost" -msgstr "Custo Mínimo variável" +msgstr "" #: part/models.py:3075 msgid "Calculated minimum cost of variant parts" -msgstr "Custo mínimo calculado das peças variáveis" +msgstr "" #: part/models.py:3081 msgid "Maximum Variant Cost" -msgstr "Custo Máximo Variável" +msgstr "" #: part/models.py:3082 msgid "Calculated maximum cost of variant parts" -msgstr "Custo máximo calculado das peças variáveis" +msgstr "" #: part/models.py:3089 msgid "Override minimum cost" -msgstr "Sobrepor o custo mínimo" +msgstr "" #: part/models.py:3096 msgid "Override maximum cost" -msgstr "Sobrepor o custo máximo" +msgstr "" #: part/models.py:3103 msgid "Calculated overall minimum cost" -msgstr "Custo total mínimo calculado" +msgstr "" #: part/models.py:3110 msgid "Calculated overall maximum cost" -msgstr "Custo total máximo calculado" +msgstr "" #: part/models.py:3116 msgid "Minimum Sale Price" -msgstr "Preço Mínimo de Venda" +msgstr "" #: part/models.py:3117 msgid "Minimum sale price based on price breaks" -msgstr "Preço mínimo de venda baseado nos intervalos de preço" +msgstr "" #: part/models.py:3123 msgid "Maximum Sale Price" -msgstr "Preço Máximo de Venda" +msgstr "" #: part/models.py:3124 msgid "Maximum sale price based on price breaks" -msgstr "Preço máximo de venda baseado nos intervalos de preço" +msgstr "" #: part/models.py:3130 msgid "Minimum Sale Cost" -msgstr "Custo Mínimo de Venda" +msgstr "" #: part/models.py:3131 msgid "Minimum historical sale price" -msgstr "Preço histórico mínimo de venda" +msgstr "" #: part/models.py:3137 msgid "Maximum Sale Cost" -msgstr "Custo Máximo de Venda" +msgstr "" #: part/models.py:3138 msgid "Maximum historical sale price" -msgstr "Preço histórico máximo de venda" +msgstr "" #: part/models.py:3157 msgid "Part for stocktake" -msgstr "Peça para Balanço" +msgstr "" #: part/models.py:3162 msgid "Item Count" -msgstr "Total de Itens" +msgstr "" #: part/models.py:3163 msgid "Number of individual stock entries at time of stocktake" -msgstr "Número de entradas de estoques individuais no momento do balanço" +msgstr "" #: part/models.py:3171 msgid "Total available stock at time of stocktake" -msgstr "Estoque total disponível no momento do balanço" +msgstr "" #: part/models.py:3175 part/models.py:3258 #: part/templates/part/part_scheduling.html:13 @@ -6396,55 +6408,55 @@ msgstr "Estoque total disponível no momento do balanço" #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" -msgstr "Data" +msgstr "" #: part/models.py:3176 msgid "Date stocktake was performed" -msgstr "Data de realização do balanço" +msgstr "" #: part/models.py:3184 msgid "Additional notes" -msgstr "Notas adicionais" +msgstr "" #: part/models.py:3194 msgid "User who performed this stocktake" -msgstr "Usuário que fez o balanço" +msgstr "" #: part/models.py:3200 msgid "Minimum Stock Cost" -msgstr "Custo Mínimo de Estoque" +msgstr "" #: part/models.py:3201 msgid "Estimated minimum cost of stock on hand" -msgstr "Custo mínimo estimado de estoque disponível" +msgstr "" #: part/models.py:3207 msgid "Maximum Stock Cost" -msgstr "Custo Máximo de Estoque" +msgstr "" #: part/models.py:3208 msgid "Estimated maximum cost of stock on hand" -msgstr "Custo máximo estimado de estoque disponível" +msgstr "" #: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" -msgstr "Reportar" +msgstr "" #: part/models.py:3265 msgid "Stocktake report file (generated internally)" -msgstr "Arquivo de Relatório de Balanço (gerado internamente)" +msgstr "" #: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" -msgstr "Contagem de Peças" +msgstr "" #: part/models.py:3271 msgid "Number of parts covered by stocktake" -msgstr "Número de peças cobertas pelo Balanço" +msgstr "" #: part/models.py:3281 msgid "User who requested this stocktake report" -msgstr "Usuário que solicitou este relatório de balanço" +msgstr "" #: part/models.py:3423 msgid "Invalid template name - must include at least one alphanumeric character" @@ -6452,11 +6464,11 @@ msgstr "" #: part/models.py:3444 part/models.py:3608 msgid "Choices must be unique" -msgstr "Escolhas devem ser únicas" +msgstr "" #: part/models.py:3455 msgid "Test templates can only be created for trackable parts" -msgstr "Modelos de teste só podem ser criados para peças rastreáveis" +msgstr "" #: part/models.py:3466 msgid "Test template with the same key already exists for part" @@ -6464,11 +6476,11 @@ msgstr "" #: part/models.py:3483 templates/js/translated/part.js:2880 msgid "Test Name" -msgstr "Nome de Teste" +msgstr "" #: part/models.py:3484 msgid "Enter a name for the test" -msgstr "Insira um nome para o teste" +msgstr "" #: part/models.py:3490 msgid "Test Key" @@ -6480,17 +6492,17 @@ msgstr "" #: part/models.py:3498 msgid "Test Description" -msgstr "Descrição do Teste" +msgstr "" #: part/models.py:3499 msgid "Enter description for this test" -msgstr "Digite a descrição para este teste" +msgstr "" #: part/models.py:3503 report/models.py:209 #: templates/js/translated/part.js:2901 #: templates/js/translated/table_filters.js:481 msgid "Enabled" -msgstr "Habilitado" +msgstr "" #: part/models.py:3503 msgid "Is this test enabled?" @@ -6499,31 +6511,31 @@ msgstr "" #: part/models.py:3508 templates/js/translated/part.js:2909 #: templates/js/translated/table_filters.js:477 msgid "Required" -msgstr "Requerido" +msgstr "" #: part/models.py:3509 msgid "Is this test required to pass?" -msgstr "Este teste é obrigatório passar?" +msgstr "" #: part/models.py:3514 templates/js/translated/part.js:2917 msgid "Requires Value" -msgstr "Requer Valor" +msgstr "" #: part/models.py:3515 msgid "Does this test require a value when adding a test result?" -msgstr "Este teste requer um valor ao adicionar um resultado de teste?" +msgstr "" #: part/models.py:3520 templates/js/translated/part.js:2924 msgid "Requires Attachment" -msgstr "Anexo obrigatório" +msgstr "" #: part/models.py:3522 msgid "Does this test require a file attachment when adding a test result?" -msgstr "Este teste requer um anexo ao adicionar um resultado de teste?" +msgstr "" #: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 msgid "Choices" -msgstr "Escolhas" +msgstr "" #: part/models.py:3529 msgid "Valid choices for this test (comma-separated)" @@ -6531,1030 +6543,1038 @@ msgstr "" #: part/models.py:3583 msgid "Checkbox parameters cannot have units" -msgstr "Parâmetros da caixa de seleção não podem ter unidades" +msgstr "" #: part/models.py:3588 msgid "Checkbox parameters cannot have choices" -msgstr "Os parâmetros da caixa de seleção não podem ter escolhas" +msgstr "" #: part/models.py:3625 msgid "Parameter template name must be unique" -msgstr "Nome do modelo de parâmetro deve ser único" +msgstr "" #: part/models.py:3640 msgid "Parameter Name" -msgstr "Nome do Parâmetro" +msgstr "" #: part/models.py:3647 msgid "Physical units for this parameter" -msgstr "Unidades físicas para este parâmetro" +msgstr "" #: part/models.py:3655 msgid "Parameter description" -msgstr "Descrição do Parâmetro" +msgstr "" #: part/models.py:3661 templates/js/translated/part.js:1628 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" -msgstr "Caixa de seleção" +msgstr "" #: part/models.py:3662 msgid "Is this parameter a checkbox?" -msgstr "Este parâmetro é uma caixa de seleção?" +msgstr "" #: part/models.py:3668 msgid "Valid choices for this parameter (comma-separated)" -msgstr "Opções válidas para este parâmetro (separadas por vírgulas)" +msgstr "" #: part/models.py:3745 msgid "Invalid choice for parameter value" -msgstr "Escolha inválida para valor do parâmetro" +msgstr "" #: part/models.py:3788 msgid "Parent Part" -msgstr "Peça Paternal" +msgstr "" #: part/models.py:3796 part/models.py:3897 part/models.py:3898 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" -msgstr "Modelo de parâmetro" +msgstr "" #: part/models.py:3801 msgid "Data" -msgstr "Dados" +msgstr "" #: part/models.py:3802 msgid "Parameter Value" -msgstr "Valor do Parâmetro" +msgstr "" #: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" -msgstr "Valor Padrão" +msgstr "" #: part/models.py:3905 msgid "Default Parameter Value" -msgstr "Valor Padrão do Parâmetro" +msgstr "" #: part/models.py:3943 msgid "Part ID or part name" -msgstr "ID da peça ou nome da peça" +msgstr "" #: part/models.py:3944 msgid "Unique part ID value" -msgstr "Valor exclusivo do ID de peça" +msgstr "" #: part/models.py:3946 msgid "Part IPN value" -msgstr "Valor da parte IPN" +msgstr "" #: part/models.py:3947 msgid "Level" -msgstr "Nível" +msgstr "" #: part/models.py:3947 msgid "BOM level" -msgstr "Nível da LDM" +msgstr "" #: part/models.py:4037 msgid "Select parent part" -msgstr "Selecione a Peça Parental" +msgstr "" #: part/models.py:4047 msgid "Sub part" -msgstr "Sub peça" +msgstr "" #: part/models.py:4048 msgid "Select part to be used in BOM" -msgstr "Selecionar peça a ser usada na LDM" +msgstr "" #: part/models.py:4059 msgid "BOM quantity for this BOM item" -msgstr "Quantidade de LDM para este item LDM" +msgstr "" #: part/models.py:4065 msgid "This BOM item is optional" -msgstr "Este item LDM é opcional" +msgstr "" #: part/models.py:4071 msgid "This BOM item is consumable (it is not tracked in build orders)" -msgstr "Este item LDM é consumível (não é rastreado nos pedidos de construção)" +msgstr "" #: part/models.py:4078 part/templates/part/upload_bom.html:55 msgid "Overage" -msgstr "Excedente" +msgstr "" #: part/models.py:4079 msgid "Estimated build wastage quantity (absolute or percentage)" -msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)" +msgstr "" #: part/models.py:4086 msgid "BOM item reference" -msgstr "Referência do Item LDM" +msgstr "" #: part/models.py:4094 msgid "BOM item notes" -msgstr "Notas do Item LDM" +msgstr "" #: part/models.py:4100 msgid "Checksum" -msgstr "Soma de verificação" +msgstr "" #: part/models.py:4101 msgid "BOM line checksum" -msgstr "Soma de Verificação da LDM da linha" +msgstr "" #: part/models.py:4106 templates/js/translated/table_filters.js:174 msgid "Validated" -msgstr "Validado" +msgstr "" #: part/models.py:4107 msgid "This BOM item has been validated" -msgstr "O item da LDM foi validado" +msgstr "" #: part/models.py:4112 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" -msgstr "Obtém herdados" +msgstr "" #: part/models.py:4113 msgid "This BOM item is inherited by BOMs for variant parts" -msgstr "Este item da LDM é herdado por LDMs para peças variáveis" +msgstr "" #: part/models.py:4118 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" -msgstr "Permitir variações" +msgstr "" #: part/models.py:4119 msgid "Stock items for variant parts can be used for this BOM item" -msgstr "Itens de estoque para as peças das variantes podem ser usados para este item LDM" +msgstr "" #: part/models.py:4204 stock/models.py:662 msgid "Quantity must be integer value for trackable parts" -msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" +msgstr "" #: part/models.py:4214 part/models.py:4216 msgid "Sub part must be specified" -msgstr "Sub peça deve ser especificada" +msgstr "" #: part/models.py:4354 msgid "BOM Item Substitute" -msgstr "Substituir Item da LDM" +msgstr "" #: part/models.py:4375 msgid "Substitute part cannot be the same as the master part" -msgstr "A peça de substituição não pode ser a mesma que a peça mestre" +msgstr "" #: part/models.py:4388 msgid "Parent BOM item" -msgstr "Item LDM Parental" +msgstr "" #: part/models.py:4396 msgid "Substitute part" -msgstr "Substituir peça" +msgstr "" #: part/models.py:4412 msgid "Part 1" -msgstr "Parte 1" +msgstr "" #: part/models.py:4420 msgid "Part 2" -msgstr "Parte 2" +msgstr "" #: part/models.py:4421 msgid "Select Related Part" -msgstr "Selecionar Peça Relacionada" +msgstr "" #: part/models.py:4440 msgid "Part relationship cannot be created between a part and itself" -msgstr "Relacionamento da peça não pode ser criada com ela mesma" +msgstr "" #: part/models.py:4445 msgid "Duplicate relationship already exists" -msgstr "Relação duplicada já existe" +msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" -msgstr "Sub-categorias" +msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" -msgstr "Moeda de compra deste item de estoque" +msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" -msgstr "Nenhuma parte selecionada" +msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" -msgstr "Selecionar categoria" +msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" -msgstr "Peça Original" +msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" -msgstr "Selecione a peça original para duplicar" - -#: part/serializers.py:435 -msgid "Copy Image" -msgstr "Copiar imagem" - -#: part/serializers.py:436 -msgid "Copy image from original part" -msgstr "Copiar imagem da peça original" - -#: part/serializers.py:442 part/templates/part/detail.html:277 -msgid "Copy BOM" -msgstr "Copiar LDM" +msgstr "" #: part/serializers.py:443 +msgid "Copy Image" +msgstr "" + +#: part/serializers.py:444 +msgid "Copy image from original part" +msgstr "" + +#: part/serializers.py:450 part/templates/part/detail.html:277 +msgid "Copy BOM" +msgstr "" + +#: part/serializers.py:451 msgid "Copy bill of materials from original part" -msgstr "Copiar lista de materiais da peça original" - -#: part/serializers.py:449 -msgid "Copy Parameters" -msgstr "Copiar Parâmetros" - -#: part/serializers.py:450 -msgid "Copy parameter data from original part" -msgstr "Copiar dados do parâmetro da peça original" - -#: part/serializers.py:456 -msgid "Copy Notes" -msgstr "Copiar Notas" +msgstr "" #: part/serializers.py:457 +msgid "Copy Parameters" +msgstr "" + +#: part/serializers.py:458 +msgid "Copy parameter data from original part" +msgstr "" + +#: part/serializers.py:464 +msgid "Copy Notes" +msgstr "" + +#: part/serializers.py:465 msgid "Copy notes from original part" -msgstr "Copiar imagem da peça original" +msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" -msgstr "Quantidade Inicial de Estoque" - -#: part/serializers.py:477 -msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." -msgstr "Especificar a quantidade inicial de estoque para a peça. Se for zero, nenhum estoque é adicionado." - -#: part/serializers.py:484 -msgid "Initial Stock Location" -msgstr "Local Inicial do Estoque" +msgstr "" #: part/serializers.py:485 +msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." +msgstr "" + +#: part/serializers.py:492 +msgid "Initial Stock Location" +msgstr "" + +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" -msgstr "Especifique o local do estoque inicial para esta Peça" +msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" -msgstr "Selecione o fornecedor (ou deixe em branco para pular)" +msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" -msgstr "Selecione fabricante (ou deixe em branco para pular)" +msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" -msgstr "Número de Peça do Fabricante" +msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" -msgstr "A empresa selecionada não é um fornecedor válido" +msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" -msgstr "A empresa selecionada não é um fabricante válido" +msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" -msgstr "A peça do fabricante que corresponde a essa MPN já existe" +msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" -msgstr "A peça do fornecedor que corresponde a essa SKU já existe" +msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" -msgstr "Peça duplicada" +msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" -msgstr "Copiar dados iniciais de outra peça" +msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" -msgstr "Estoque inicial" +msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" -msgstr "Criar peça com a quantidade inicial de estoque" +msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" -msgstr "Informações do Fornecedor" - -#: part/serializers.py:876 -msgid "Add initial supplier information for this part" -msgstr "Adicionar informação inicial de fornecedor para esta peça" +msgstr "" #: part/serializers.py:884 +msgid "Add initial supplier information for this part" +msgstr "" + +#: part/serializers.py:892 msgid "Copy Category Parameters" -msgstr "Copiar Parâmetros da Categoria" +msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" -msgstr "Copiar modelos de parâmetros a partir de categoria de peça selecionada" +msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" -msgstr "Imagem Existente" +msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" -msgstr "Nome de arquivo de uma imagem de peça existente" +msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" -msgstr "A imagem não existe" +msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" -msgstr "Limitar o relatório de balanço a uma determinada peça e quaisquer peças variantes" +msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" -msgstr "Limitar o relatório de balanço a uma determinada categoria, e qualquer peças filhas" +msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" -msgstr "Limitar o relatório de balanço a um determinado local de estoque, e qualquer local filho" +msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" -msgstr "Excluir Estoque externo" +msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" -msgstr "Excluir itens de estoque em locais externos" +msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" -msgstr "Gerar relatório" +msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" -msgstr "Gerar arquivo de relatório contendo dados de estoque calculados" +msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" -msgstr "Atualizar Peças" - -#: part/serializers.py:1153 -msgid "Update specified parts with calculated stocktake data" -msgstr "Atualizar peças especificadas com dados de estoque calculados" +msgstr "" #: part/serializers.py:1161 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" -msgstr "Função de Balanço de Estoque não está ativada" +msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" -msgstr "Sobrepor valor calculado para preço mínimo" - -#: part/serializers.py:1274 -msgid "Minimum price currency" -msgstr "Moeda do preço mínimo" +msgstr "" #: part/serializers.py:1282 +msgid "Minimum price currency" +msgstr "" + +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" -msgstr "Sobrepor valor calculado para preço máximo" +msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" -msgstr "Moeda do preço máximo" +msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" -msgstr "Atualizar" +msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" -msgstr "Atualizar preços desta peça" +msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" -msgstr "Não foi possível converter das moedas fornecidas para {default_currency}" +msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" -msgstr "Preço mínimo não pode ser maior que o preço máximo" +msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 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:1719 -msgid "Select part to copy BOM from" -msgstr "Selecionar peça para copiar a LDM" +msgstr "" #: part/serializers.py:1727 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:1735 msgid "Remove Existing Data" -msgstr "Remover Dado Existente" +msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" -msgstr "Remova itens LDM existentes antes de copiar" +msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" -msgstr "Incluir Herdados" +msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" -msgstr "Incluir itens LDM que são herdados de peças modelo" +msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" -msgstr "Pular Linhas inválidas" +msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" -msgstr "Habilitar esta opção para pular linhas inválidas" +msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" -msgstr "Copiar Peças Substitutas" +msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" -msgstr "Copiar peças de substitutas quando duplicar itens de LDM" +msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" -msgstr "Limpar LDM Existente" +msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" -msgstr "Apagar itens LDM existentes antes de carregar" +msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" -msgstr "Nenhuma coluna de peça especificada" +msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" -msgstr "Múltiplas peças correspondentes encontradas" +msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" -msgstr "Nenhuma peça correspondente encontrada" +msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" -msgstr "Peça não está designada como componente" - -#: part/serializers.py:1870 -msgid "Quantity not provided" -msgstr "Quantidade não foi fornecida" +msgstr "" #: part/serializers.py:1878 -msgid "Invalid quantity" -msgstr "Quantidade Inválida" +msgid "Quantity not provided" +msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1886 +msgid "Invalid quantity" +msgstr "" + +#: part/serializers.py:1907 msgid "At least one BOM item is required" -msgstr "Pelo menos um item LDM é necessário" +msgstr "" #: part/stocktake.py:225 templates/js/translated/part.js:1067 #: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" -msgstr "Quantidade Total" +msgstr "" #: part/stocktake.py:226 msgid "Total Cost Min" -msgstr "Custo Min Total" +msgstr "" #: part/stocktake.py:227 msgid "Total Cost Max" -msgstr "Custo Max Total" +msgstr "" #: part/stocktake.py:285 msgid "Stocktake Report Available" -msgstr "Balanço de Estoque Disponível" +msgstr "" #: part/stocktake.py:286 msgid "A new stocktake report is available for download" -msgstr "Um novo relatório de balanço do estoque está disponível para baixar" +msgstr "" #: part/tasks.py:37 msgid "Low stock notification" -msgstr "Notificação de estoque baixo" +msgstr "" #: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" -msgstr "O estoque disponível para {part.name} caiu abaixo do nível mínimo definido" +msgstr "" #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." -msgstr "Você não tem permissões para editar a LDM." +msgstr "" #: part/templates/part/bom.html:15 msgid "The BOM this part has been changed, and must be validated" -msgstr "A LDM dessa peça foi alterada, e deve ser validada" +msgstr "" #: part/templates/part/bom.html:17 #, python-format msgid "This BOM was last checked by %(checker)s on %(check_date)s" -msgstr "Esta BOM foi verificada por %(checker)s em %(check_date)s" +msgstr "" #: part/templates/part/bom.html:21 msgid "This BOM has not been validated." -msgstr "A BOM não foi validada." +msgstr "" #: part/templates/part/category.html:35 msgid "Perform stocktake for this part category" -msgstr "Fazer balanço de estoque para esta categoria de peça" +msgstr "" #: part/templates/part/category.html:41 part/templates/part/category.html:45 msgid "You are subscribed to notifications for this category" -msgstr "Você está inscrito para notificações desta categoria" +msgstr "" #: part/templates/part/category.html:49 msgid "Subscribe to notifications for this category" -msgstr "Inscrever-se para notificações desta categoria" +msgstr "" #: part/templates/part/category.html:55 msgid "Category Actions" -msgstr "Ações de Categoria" +msgstr "" #: part/templates/part/category.html:60 msgid "Edit category" -msgstr "Editar categoria" +msgstr "" #: part/templates/part/category.html:61 msgid "Edit Category" -msgstr "Editar Categoria" +msgstr "" #: part/templates/part/category.html:65 msgid "Delete category" -msgstr "Excluir categoria" +msgstr "" #: part/templates/part/category.html:66 msgid "Delete Category" -msgstr "Excluir Categoria" +msgstr "" #: part/templates/part/category.html:102 msgid "Top level part category" -msgstr "Categoria de peça de nível superior" +msgstr "" #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" -msgstr "Peças (incluindo subcategorias)" +msgstr "" #: part/templates/part/category.html:165 msgid "Create new part" -msgstr "Criar nova peça" +msgstr "" #: part/templates/part/category.html:166 templates/js/translated/bom.js:444 msgid "New Part" -msgstr "Nova Peça" +msgstr "" #: part/templates/part/category.html:192 #: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:49 msgid "Part Parameters" -msgstr "Parâmetros da Peça" +msgstr "" #: part/templates/part/category.html:211 msgid "Create new part category" -msgstr "Criar categoria de peça" +msgstr "" #: part/templates/part/category.html:212 msgid "New Category" -msgstr "Nova Categoria" +msgstr "" #: part/templates/part/category_sidebar.html:13 msgid "Import Parts" -msgstr "Importar Peças" +msgstr "" #: part/templates/part/copy_part.html:10 #, python-format msgid "Make a copy of part '%(full_name)s'." -msgstr "Faça uma cópia da peça '%(full_name)s'." +msgstr "" #: part/templates/part/copy_part.html:14 #: part/templates/part/create_part.html:11 msgid "Possible Matching Parts" -msgstr "Possíveis peças correspondentes" +msgstr "" #: part/templates/part/copy_part.html:15 #: part/templates/part/create_part.html:12 msgid "The new part may be a duplicate of these existing parts" -msgstr "A nova peça pode ser uma duplicata dessas peças existentes" +msgstr "" #: part/templates/part/create_part.html:17 #, python-format msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" -msgstr "%(full_name)s - %(desc)s (%(match_per)s%% correspondência)" +msgstr "" #: part/templates/part/detail.html:20 msgid "Part Stock" -msgstr "Estoque da Peça" +msgstr "" #: part/templates/part/detail.html:44 msgid "Refresh scheduling data" -msgstr "Atualizar dados de agendamento" +msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 #: templates/js/translated/tables.js:552 msgid "Refresh" -msgstr "Recarregar" +msgstr "" #: part/templates/part/detail.html:66 msgid "Add stocktake information" -msgstr "Adicionar informações de balanço de estoque" +msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" -msgstr "Balanço" +msgstr "" #: part/templates/part/detail.html:83 msgid "Part Test Templates" -msgstr "Modelos de Teste de Peça" +msgstr "" #: part/templates/part/detail.html:88 msgid "Add Test Template" -msgstr "Adicionar Modelo de Teste" +msgstr "" #: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" -msgstr "Alocações do Pedido de Vendas" +msgstr "" #: part/templates/part/detail.html:156 msgid "Part Notes" -msgstr "Notas de Peça" +msgstr "" #: part/templates/part/detail.html:171 msgid "Part Variants" -msgstr "Variantes de Peça" +msgstr "" #: part/templates/part/detail.html:175 msgid "Create new variant" -msgstr "Criar variante" +msgstr "" #: part/templates/part/detail.html:176 msgid "New Variant" -msgstr "Nova Variação" +msgstr "" #: part/templates/part/detail.html:199 msgid "Add new parameter" -msgstr "Adicionar um novo parâmetro" +msgstr "" #: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" -msgstr "Peças Relacionadas" +msgstr "" #: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" -msgstr "Adicionar Relacionado" +msgstr "" #: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" -msgstr "Lista de Materiais" +msgstr "" #: part/templates/part/detail.html:260 msgid "Export actions" -msgstr "Exportar Ações" +msgstr "" #: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" -msgstr "Exportar LDM" +msgstr "" #: part/templates/part/detail.html:266 msgid "Print BOM Report" -msgstr "Imprimir Relatório da LDM" +msgstr "" #: part/templates/part/detail.html:272 msgid "BOM actions" -msgstr "Ações da LDM" +msgstr "" #: part/templates/part/detail.html:276 msgid "Upload BOM" -msgstr "Carregar LDM" +msgstr "" #: part/templates/part/detail.html:278 msgid "Validate BOM" -msgstr "Validar LDM" +msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 #: templates/js/translated/bom.js:1320 templates/js/translated/bom.js:1321 msgid "Add BOM Item" -msgstr "Adicionar Item LDM" +msgstr "" #: part/templates/part/detail.html:297 msgid "Assemblies" -msgstr "Montagens" +msgstr "" #: part/templates/part/detail.html:313 msgid "Part Builds" -msgstr "Produções de peça" +msgstr "" #: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" -msgstr "Alocações de Pedido de Produção" +msgstr "" #: part/templates/part/detail.html:352 msgid "Part Suppliers" -msgstr "Fornecedores da peça" +msgstr "" #: part/templates/part/detail.html:372 msgid "Part Manufacturers" -msgstr "Fabricantes da peça" +msgstr "" #: part/templates/part/detail.html:657 msgid "Related Part" -msgstr "Peça Relacionada" +msgstr "" #: part/templates/part/detail.html:665 msgid "Add Related Part" -msgstr "Adicionar Peça Relacionada" +msgstr "" #: part/templates/part/detail.html:750 msgid "Add Test Result Template" -msgstr "Adicionar Modelo de Resultado de Teste" +msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 #: part/templates/part/import_wizard/part_upload.html:14 msgid "Insufficient privileges." -msgstr "Permissões insuficientes." +msgstr "" #: part/templates/part/import_wizard/part_upload.html:8 msgid "Return to Parts" -msgstr "Retornar para Peças" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:13 msgid "Import Parts from File" -msgstr "Importar Peças de um Arquivo" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:31 msgid "Requirements for part import" -msgstr "Requerimentos para importar peça" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:33 msgid "The part import file must contain the required named columns as provided in the " -msgstr "O arquivo para importar peças deve conter as colunas nomeadas como fornecido na " +msgstr "" #: part/templates/part/import_wizard/part_upload.html:33 msgid "Part Import Template" -msgstr "Modelo de importação de Peças" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:89 msgid "Download Part Import Template" -msgstr "Baixar Modelo de Importação de Peça" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" -msgstr "Formato" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" -msgstr "Selecione o formato de arquivo" +msgstr "" #: part/templates/part/part_app_base.html:12 msgid "Part List" -msgstr "Lista de Peças" +msgstr "" #: part/templates/part/part_base.html:25 part/templates/part/part_base.html:29 msgid "You are subscribed to notifications for this part" -msgstr "Você está inscrito para notificações desta peça" +msgstr "" #: part/templates/part/part_base.html:33 msgid "Subscribe to notifications for this part" -msgstr "Inscrever-se para notificações desta peça" +msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 msgid "Print Label" -msgstr "Imprimir Etiqueta" +msgstr "" #: part/templates/part/part_base.html:58 msgid "Show pricing information" -msgstr "Mostrar informações de preços" +msgstr "" #: part/templates/part/part_base.html:63 #: stock/templates/stock/item_base.html:110 #: stock/templates/stock/location.html:83 msgid "Stock actions" -msgstr "Ações de Estoque" +msgstr "" #: part/templates/part/part_base.html:70 msgid "Count part stock" -msgstr "Contagem peça em estoque" +msgstr "" #: part/templates/part/part_base.html:76 msgid "Transfer part stock" -msgstr "Transferir estoque de peça" +msgstr "" #: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 msgid "Part actions" -msgstr "Ações de peça" +msgstr "" #: part/templates/part/part_base.html:94 msgid "Duplicate part" -msgstr "Peça duplicada" +msgstr "" #: part/templates/part/part_base.html:97 msgid "Edit part" -msgstr "Editar peça" +msgstr "" #: part/templates/part/part_base.html:100 msgid "Delete part" -msgstr "Excluir peça" +msgstr "" #: part/templates/part/part_base.html:119 msgid "Part is a template part (variants can be made from this part)" -msgstr "Esta é uma peça modelo (as variantes podem ser feitas a partir desta peça)" +msgstr "" #: part/templates/part/part_base.html:123 msgid "Part can be assembled from other parts" -msgstr "Peças pode ser montada a partir de outras peças" +msgstr "" #: part/templates/part/part_base.html:127 msgid "Part can be used in assemblies" -msgstr "Peça pode ser usada em montagens" +msgstr "" #: part/templates/part/part_base.html:131 msgid "Part stock is tracked by serial number" -msgstr "Peça em estoque é controlada por número de série" +msgstr "" #: part/templates/part/part_base.html:135 msgid "Part can be purchased from external suppliers" -msgstr "Peça pode ser comprada de fornecedores externos" +msgstr "" #: part/templates/part/part_base.html:139 msgid "Part can be sold to customers" -msgstr "Peça pode ser vendida a clientes" +msgstr "" #: part/templates/part/part_base.html:145 msgid "Part is not active" -msgstr "Peça inativa" +msgstr "" #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" -msgstr "Peça é virtual (não é algo físico)" +msgstr "" #: part/templates/part/part_base.html:163 #: part/templates/part/part_base.html:681 msgid "Show Part Details" -msgstr "Mostrar Detalhes de Peça" +msgstr "" #: part/templates/part/part_base.html:218 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" -msgstr "Alocado para Pedidos de Construção" +msgstr "" #: part/templates/part/part_base.html:227 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" -msgstr "Alocado para Pedidos de Venda" +msgstr "" #: part/templates/part/part_base.html:235 templates/js/translated/bom.js:1219 msgid "Can Build" -msgstr "Pode Produzir" +msgstr "" #: part/templates/part/part_base.html:291 msgid "Minimum stock level" -msgstr "Nível mínimo de estoque" +msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" -msgstr "Faixa de Preço" +msgstr "" #: part/templates/part/part_base.html:352 msgid "Latest Serial Number" -msgstr "Último Número de Série" +msgstr "" #: part/templates/part/part_base.html:356 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" -msgstr "Procurar por número serial" +msgstr "" #: part/templates/part/part_base.html:444 msgid "Part QR Code" -msgstr "QR Code da Peça" +msgstr "" #: part/templates/part/part_base.html:461 msgid "Link Barcode to Part" -msgstr "Vincular Código de Barras à Peça" +msgstr "" #: part/templates/part/part_base.html:511 msgid "Calculate" -msgstr "Calcular" +msgstr "" #: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" -msgstr "Remover imagem associada a esta peça" +msgstr "" #: part/templates/part/part_base.html:579 msgid "No matching images found" -msgstr "Nenhuma imagem correspondente encontrada" +msgstr "" #: part/templates/part/part_base.html:675 msgid "Hide Part Details" -msgstr "Esconder Detalhes da Peça" +msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:76 #: part/templates/part/prices.html:227 templates/js/translated/pricing.js:485 msgid "Supplier Pricing" -msgstr "Preço do fornecedor" +msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 #: part/templates/part/part_pricing.html:95 #: part/templates/part/part_pricing.html:110 msgid "Unit Cost" -msgstr "Custo unitário" +msgstr "" #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" -msgstr "Nenhuma informação dos preços do fornecedor disponível" +msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:90 #: part/templates/part/prices.html:250 msgid "BOM Pricing" -msgstr "Preço LDM" +msgstr "" #: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" -msgstr "Preço Unitário de Compra" +msgstr "" #: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" -msgstr "Preço Total de Compra" +msgstr "" #: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" -msgstr "Preços LDM indisponíveis" +msgstr "" #: part/templates/part/part_pricing.html:92 msgid "Internal Price" -msgstr "Preço Interno" +msgstr "" #: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." -msgstr "Nenhuma informação de preço está disponível para esta peça." +msgstr "" #: part/templates/part/part_scheduling.html:14 msgid "Scheduled Quantity" -msgstr "Quantidade Agendada" +msgstr "" #: part/templates/part/part_sidebar.html:11 msgid "Variants" -msgstr "Variantes" +msgstr "" #: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 @@ -7565,36 +7585,36 @@ msgstr "Variantes" #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" -msgstr "Estoque" +msgstr "" #: part/templates/part/part_sidebar.html:30 #: templates/InvenTree/settings/sidebar.html:39 msgid "Pricing" -msgstr "Preços" +msgstr "" #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" -msgstr "Agendamento" +msgstr "" #: part/templates/part/part_sidebar.html:54 msgid "Test Templates" -msgstr "Testar Modelos" +msgstr "" #: part/templates/part/part_thumb.html:11 msgid "Select from existing images" -msgstr "Selecionar de imagens existentes" +msgstr "" #: part/templates/part/prices.html:11 msgid "Pricing Overview" -msgstr "Resumo de Preços" +msgstr "" #: part/templates/part/prices.html:14 msgid "Refresh Part Pricing" -msgstr "Atualizar Preço da Peça" +msgstr "" #: part/templates/part/prices.html:17 msgid "Override Part Pricing" -msgstr "Sobrepor Preço da Peça" +msgstr "" #: part/templates/part/prices.html:18 #: templates/InvenTree/settings/settings_staff_js.html:80 @@ -7603,7 +7623,7 @@ msgstr "Sobrepor Preço da Peça" #: templates/js/translated/pricing.js:628 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" -msgstr "Editar" +msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:251 #: stock/templates/stock/item_base.html:446 @@ -7611,155 +7631,155 @@ msgstr "Editar" #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2246 msgid "Last Updated" -msgstr "Última atualização" +msgstr "" #: part/templates/part/prices.html:37 part/templates/part/prices.html:127 msgid "Price Category" -msgstr "Categoria de preço" +msgstr "" #: part/templates/part/prices.html:38 part/templates/part/prices.html:128 msgid "Minimum" -msgstr "Mínimo" +msgstr "" #: part/templates/part/prices.html:39 part/templates/part/prices.html:129 msgid "Maximum" -msgstr "Máximo" +msgstr "" #: part/templates/part/prices.html:51 part/templates/part/prices.html:174 msgid "Internal Pricing" -msgstr "Preço Interno" +msgstr "" #: part/templates/part/prices.html:64 part/templates/part/prices.html:206 msgid "Purchase History" -msgstr "Histórico de Compras" +msgstr "" #: part/templates/part/prices.html:98 part/templates/part/prices.html:274 msgid "Variant Pricing" -msgstr "Preço Variável" +msgstr "" #: part/templates/part/prices.html:106 msgid "Pricing Overrides" -msgstr "Sobrepor preços" +msgstr "" #: part/templates/part/prices.html:113 msgid "Overall Pricing" -msgstr "Preços Gerais" +msgstr "" #: part/templates/part/prices.html:149 part/templates/part/prices.html:326 msgid "Sale History" -msgstr "Histórico de vendas" +msgstr "" #: part/templates/part/prices.html:157 msgid "Sale price data is not available for this part" -msgstr "Dados de preço de venda não estão disponíveis para esta peça" +msgstr "" #: part/templates/part/prices.html:164 msgid "Price range data is not available for this part." -msgstr "Dados do intervalo de preços não estão disponíveis para esta peça." +msgstr "" #: part/templates/part/prices.html:175 part/templates/part/prices.html:207 #: part/templates/part/prices.html:228 part/templates/part/prices.html:251 #: part/templates/part/prices.html:275 part/templates/part/prices.html:298 #: part/templates/part/prices.html:327 msgid "Jump to overview" -msgstr "Ir para visão geral" +msgstr "" #: part/templates/part/prices.html:180 msgid "Add Internal Price Break" -msgstr "Adicionar intervalo de preço interno" +msgstr "" #: part/templates/part/prices.html:297 msgid "Sale Pricing" -msgstr "Preço de Venda" +msgstr "" #: part/templates/part/prices.html:303 msgid "Add Sell Price Break" -msgstr "Adicionar intervalo de preço de venda" +msgstr "" #: part/templates/part/pricing_javascript.html:24 msgid "Update Pricing" -msgstr "Atualizar Preços" +msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 #: templates/js/translated/part.js:2143 msgid "No Stock" -msgstr "Sem Estoque" +msgstr "" #: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" -msgstr "Estoque Baixo" +msgstr "" #: part/templates/part/upload_bom.html:8 msgid "Return to BOM" -msgstr "Voltar à LDM" +msgstr "" #: part/templates/part/upload_bom.html:13 msgid "Upload Bill of Materials" -msgstr "Carregar a Lista de materiais" +msgstr "" #: part/templates/part/upload_bom.html:19 msgid "BOM upload requirements" -msgstr "Requisitos para carregar LDM" +msgstr "" #: part/templates/part/upload_bom.html:23 #: part/templates/part/upload_bom.html:90 msgid "Upload BOM File" -msgstr "Carregar Arquivo LDM" +msgstr "" #: part/templates/part/upload_bom.html:29 msgid "Submit BOM Data" -msgstr "Enviar Dados LDM" +msgstr "" #: part/templates/part/upload_bom.html:37 msgid "Requirements for BOM upload" -msgstr "Requisitos para carregar a LDM" +msgstr "" #: part/templates/part/upload_bom.html:39 msgid "The BOM file must contain the required named columns as provided in the " -msgstr "O arquivo da LDM deve conter as colunas nomeadas como fornecido na " +msgstr "" #: part/templates/part/upload_bom.html:39 msgid "BOM Upload Template" -msgstr "Carregar Modelo de LDM" +msgstr "" #: part/templates/part/upload_bom.html:40 msgid "Each part must already exist in the database" -msgstr "Cada peça deve existir no banco de dados" +msgstr "" #: part/templates/part/variant_part.html:9 msgid "Create new part variant" -msgstr "Criar variante de peça" +msgstr "" #: part/templates/part/variant_part.html:10 msgid "Create a new variant part from this template" -msgstr "Criar uma peça variante a partir deste modelo" +msgstr "" #: part/views.py:111 msgid "Match References" -msgstr "Referências de combinações" +msgstr "" #: part/views.py:275 #, python-brace-format msgid "Can't import part {new_part.name} because there is no category assigned" -msgstr "Não é possível importar a peça {new_part.name} pois não há uma categoria atribuída" +msgstr "" #: part/views.py:425 msgid "Select Part Image" -msgstr "Selecionar Imagem da Peça" +msgstr "" #: part/views.py:448 msgid "Updated part image" -msgstr "Atualizar imagem da peça" +msgstr "" #: part/views.py:451 msgid "Part image not found" -msgstr "Imagem da peça não encontrada" +msgstr "" #: part/views.py:545 msgid "Part Pricing" -msgstr "Preço Peça" +msgstr "" #: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" @@ -7767,164 +7787,164 @@ msgstr "" #: plugin/base/action/api.py:32 msgid "No action specified" -msgstr "Nenhuma ação especificada" +msgstr "" #: plugin/base/action/api.py:41 msgid "No matching action found" -msgstr "Nenhuma ação correspondente encontrada" +msgstr "" #: plugin/base/barcodes/api.py:124 plugin/base/barcodes/api.py:328 #: plugin/base/barcodes/api.py:503 msgid "No match found for barcode data" -msgstr "Nenhum resultado encontrado para os dados do código de barras" +msgstr "" #: plugin/base/barcodes/api.py:128 msgid "Match found for barcode data" -msgstr "Coincidência encontrada para dados de código de barras" +msgstr "" #: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" -msgstr "Código de barras corresponde ao item existente" +msgstr "" #: plugin/base/barcodes/api.py:293 msgid "No matching part data found" -msgstr "Nenhuma informação de peça correspondente encontrada" +msgstr "" #: plugin/base/barcodes/api.py:310 msgid "No matching supplier parts found" -msgstr "Nenhuma peça de fornecedor correspondente encontrada" +msgstr "" #: plugin/base/barcodes/api.py:314 msgid "Multiple matching supplier parts found" -msgstr "Múltiplas peças de fornecedores correspondentes encontradas" +msgstr "" #: plugin/base/barcodes/api.py:338 msgid "Matched supplier part" -msgstr "Peça de fornecedor correspondente" +msgstr "" #: plugin/base/barcodes/api.py:387 msgid "Item has already been received" -msgstr "Item do pedido já foi recebido" +msgstr "" #: plugin/base/barcodes/api.py:424 msgid "No match for supplier barcode" -msgstr "Nenhuma correspondência para o código de barras do fornecedor" +msgstr "" #: plugin/base/barcodes/api.py:467 msgid "Multiple matching line items found" -msgstr "Diversos itens de linha correspondentes encontrados" +msgstr "" #: plugin/base/barcodes/api.py:470 msgid "No matching line item found" -msgstr "Nenhum item de linha correspondente encontrado" +msgstr "" #: plugin/base/barcodes/api.py:508 plugin/base/barcodes/api.py:515 msgid "Barcode does not match an existing stock item" -msgstr "Código de barras não corresponde a item de estoque válido" +msgstr "" #: plugin/base/barcodes/api.py:526 msgid "Stock item does not match line item" -msgstr "Item do estoque não corresponde ao item de linha" +msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" -msgstr "Estoque insuficiente disponível" +msgstr "" #: plugin/base/barcodes/api.py:559 msgid "Stock item allocated to sales order" -msgstr "Item de estoque atribuído para pedido de venda" +msgstr "" #: plugin/base/barcodes/api.py:563 msgid "Not enough information" -msgstr "Não há informação suficiente" +msgstr "" #: plugin/base/barcodes/mixins.py:147 plugin/base/barcodes/mixins.py:179 msgid "Found multiple matching supplier parts for barcode" -msgstr "Múltiplas peças de fornecedores correspondentes encontradas para o código de barras" +msgstr "" #: plugin/base/barcodes/mixins.py:197 #, python-brace-format msgid "Found multiple purchase orders matching '{order}'" -msgstr "Encontrados vários pedidos de compra correspondentes a '{order}'" +msgstr "" #: plugin/base/barcodes/mixins.py:201 #, python-brace-format msgid "No matching purchase order for '{order}'" -msgstr "Nenhum pedido de compra correspondente a '{order}' encontrado" +msgstr "" #: plugin/base/barcodes/mixins.py:206 msgid "Purchase order does not match supplier" -msgstr "Pedido de compra não corresponde ao fornecedor" +msgstr "" #: plugin/base/barcodes/mixins.py:440 msgid "Failed to find pending line item for supplier part" -msgstr "Falha ao encontrar item de linha pendente para a parte do fornecedor" +msgstr "" #: plugin/base/barcodes/mixins.py:471 msgid "Further information required to receive line item" -msgstr "Mais informações necessárias para receber o item de linha" +msgstr "" #: plugin/base/barcodes/mixins.py:479 msgid "Received purchase order line item" -msgstr "Item de linha do pedido de compra recebido" +msgstr "" #: plugin/base/barcodes/serializers.py:21 msgid "Scanned barcode data" -msgstr "Dados do código de barras lido" +msgstr "" #: plugin/base/barcodes/serializers.py:81 msgid "Purchase Order to allocate items against" -msgstr "Pedido de compra para alocar itens contra" +msgstr "" #: plugin/base/barcodes/serializers.py:87 msgid "Purchase order is not pending" -msgstr "O pedido de compra não está pendente" +msgstr "" #: plugin/base/barcodes/serializers.py:105 msgid "PurchaseOrder to receive items against" -msgstr "Pedido de compra para receber itens contra" +msgstr "" #: plugin/base/barcodes/serializers.py:111 msgid "Purchase order has not been placed" -msgstr "O pedido de compra não foi realizado" +msgstr "" #: plugin/base/barcodes/serializers.py:119 msgid "Location to receive items into" -msgstr "Localização para receber itens" +msgstr "" #: plugin/base/barcodes/serializers.py:125 msgid "Cannot select a structural location" -msgstr "Não é possível selecionar um local estrutural" +msgstr "" #: plugin/base/barcodes/serializers.py:139 msgid "Sales Order to allocate items against" -msgstr "Pedido de compra para alocar itens contra" +msgstr "" #: plugin/base/barcodes/serializers.py:145 msgid "Sales order is not pending" -msgstr "O pedido de venda não está pendente" +msgstr "" #: plugin/base/barcodes/serializers.py:153 msgid "Sales order line item to allocate items against" -msgstr "Item de linha do pedido de venda para alocar itens contra" +msgstr "" #: plugin/base/barcodes/serializers.py:160 msgid "Sales order shipment to allocate items against" -msgstr "Envio do pedido de venda para alocar itens contra" +msgstr "" #: plugin/base/barcodes/serializers.py:166 msgid "Shipment has already been delivered" -msgstr "O envio já foi entregue" +msgstr "" #: plugin/base/barcodes/serializers.py:171 msgid "Quantity to allocate" -msgstr "Quantidade a alocar" +msgstr "" #: plugin/base/label/label.py:39 templates/js/translated/label.js:155 msgid "Label printing failed" -msgstr "Impressão de etiqueta falhou" +msgstr "" #: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" @@ -7940,11 +7960,11 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" -msgstr "Códigos de Barras InvenTree" +msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:26 msgid "Provides native support for barcodes" -msgstr "Fornece suporte nativo para códigos de barras" +msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 @@ -7955,69 +7975,69 @@ msgstr "Fornece suporte nativo para códigos de barras" #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" -msgstr "Contribuidores do InvenTree" +msgstr "" #: plugin/builtin/integration/core_notifications.py:34 msgid "InvenTree Notifications" -msgstr "Notificações do InvenTree" +msgstr "" #: plugin/builtin/integration/core_notifications.py:36 msgid "Integrated outgoing notification methods" -msgstr "Métodos de envio de notificação integrados" +msgstr "" #: plugin/builtin/integration/core_notifications.py:41 #: plugin/builtin/integration/core_notifications.py:80 msgid "Enable email notifications" -msgstr "Habilitar notificações por email" +msgstr "" #: plugin/builtin/integration/core_notifications.py:42 #: plugin/builtin/integration/core_notifications.py:81 msgid "Allow sending of emails for event notifications" -msgstr "Permitir enviar emails para notificações de eventos" +msgstr "" #: plugin/builtin/integration/core_notifications.py:47 msgid "Enable slack notifications" -msgstr "Habilitar notificações por Slack" +msgstr "" #: plugin/builtin/integration/core_notifications.py:49 msgid "Allow sending of slack channel messages for event notifications" -msgstr "Permitir envio de notificações de eventos pelo canal de mensagens do slack" +msgstr "" #: plugin/builtin/integration/core_notifications.py:55 msgid "Slack incoming webhook url" -msgstr "Link do gancho de entrada do Slack" +msgstr "" #: plugin/builtin/integration/core_notifications.py:56 msgid "URL that is used to send messages to a slack channel" -msgstr "URL usada para enviar mensagens para um canal do Slack" +msgstr "" #: plugin/builtin/integration/core_notifications.py:164 msgid "Open link" -msgstr "Abrir link" +msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 msgid "InvenTree Currency Exchange" -msgstr "Câmbio de Moeda InvenTree" +msgstr "" #: plugin/builtin/integration/currency_exchange.py:23 msgid "Default currency exchange integration" -msgstr "Integração padrão de câmbio de moeda" +msgstr "" #: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" -msgstr "Impressora de etiquetas PDF do InvenTree" +msgstr "" #: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" -msgstr "Providenciar suporte nativo para impressão de etiquetas em PDF" +msgstr "" #: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" -msgstr "Modo de depuração" +msgstr "" #: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" -msgstr "Ativar o modo de depuração - retorna HTML bruto em vez de PDF" +msgstr "" #: plugin/builtin/labels/inventree_machine.py:61 msgid "InvenTree machine label printer" @@ -8037,95 +8057,95 @@ msgstr "" #: plugin/builtin/labels/label_sheet.py:29 msgid "Page size for the label sheet" -msgstr "Tamanho da página para folha de etiqueta" +msgstr "" #: plugin/builtin/labels/label_sheet.py:34 msgid "Skip Labels" -msgstr "Pular Etiquetas" +msgstr "" #: plugin/builtin/labels/label_sheet.py:35 msgid "Skip this number of labels when printing label sheets" -msgstr "Ignorar este número de etiquetas quando imprimir folhas de etiquetas" +msgstr "" #: plugin/builtin/labels/label_sheet.py:41 msgid "Border" -msgstr "Borda" +msgstr "" #: plugin/builtin/labels/label_sheet.py:42 msgid "Print a border around each label" -msgstr "Imprima uma borda em torno de cada etiqueta" +msgstr "" #: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" -msgstr "Paisagem" +msgstr "" #: plugin/builtin/labels/label_sheet.py:48 msgid "Print the label sheet in landscape mode" -msgstr "Imprimir a folha de etiqueta no modo paisagem" +msgstr "" #: plugin/builtin/labels/label_sheet.py:60 msgid "InvenTree Label Sheet Printer" -msgstr "Impressora de folhas de etiqueta do InvenTree" +msgstr "" #: plugin/builtin/labels/label_sheet.py:61 msgid "Arrays multiple labels onto a single sheet" -msgstr "Matriz várias etiquetas em uma única folha" +msgstr "" #: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" -msgstr "A etiqueta é muito grande para tamanho de página" +msgstr "" #: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" -msgstr "Nenhuma etiqueta foi gerada" +msgstr "" #: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" -msgstr "Integração de fornecedor - DigiKey" +msgstr "" #: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" -msgstr "Fornece suporte para escanear códigos de barras DigiKey" +msgstr "" #: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" -msgstr "O fornecedor que atua como 'DigiKey'" +msgstr "" #: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" -msgstr "Integração de fornecedor - LCSC" +msgstr "" #: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" -msgstr "Fornece suporte para escanear códigos de barras LCSC" +msgstr "" #: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" -msgstr "O fornecedor que atua como 'LCSC'" +msgstr "" #: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" -msgstr "Integração de fornecedor - Mouser" +msgstr "" #: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" -msgstr "Fornece suporte para escanear códigos de barras Mouser" +msgstr "" #: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" -msgstr "O fornecedor que atua como 'Mouser'" +msgstr "" #: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" -msgstr "Integração de fornecedor - TME" +msgstr "" #: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" -msgstr "Fornece suporte para escanear códigos de barras TME" +msgstr "" #: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" -msgstr "O fornecedor que atua como 'TME'" +msgstr "" #: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" @@ -8137,12 +8157,12 @@ msgstr "" #: plugin/installer.py:248 msgid "Installed plugin successfully" -msgstr "Plugin instalado com sucesso" +msgstr "" #: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" -msgstr "Plugin instalado na {path}" +msgstr "" #: plugin/installer.py:273 msgid "Plugin was not found in registry" @@ -8170,27 +8190,27 @@ msgstr "" #: plugin/models.py:36 msgid "Plugin Configuration" -msgstr "Configuração de Extensão" +msgstr "" #: plugin/models.py:37 msgid "Plugin Configurations" -msgstr "Configuração de Extensões" +msgstr "" #: plugin/models.py:43 users/models.py:100 msgid "Key" -msgstr "Chave" +msgstr "" #: plugin/models.py:44 msgid "Key of plugin" -msgstr "Chave da extensão" +msgstr "" #: plugin/models.py:52 msgid "PluginName of the plugin" -msgstr "Nome da Extensão" +msgstr "" #: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" -msgstr "Nome do Pacote" +msgstr "" #: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" @@ -8198,20 +8218,20 @@ msgstr "" #: plugin/models.py:66 msgid "Is the plugin active" -msgstr "O plug-in está ativo" +msgstr "" #: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" -msgstr "Instalado" +msgstr "" #: plugin/models.py:166 msgid "Sample plugin" -msgstr "Plug-in de exemplo" +msgstr "" #: plugin/models.py:174 msgid "Builtin Plugin" -msgstr "Plugin embutido" +msgstr "" #: plugin/models.py:182 msgid "Package Plugin" @@ -8221,88 +8241,88 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" -msgstr "Extensões" +msgstr "" #: plugin/models.py:267 msgid "Method" -msgstr "Método" +msgstr "" #: plugin/plugin.py:270 msgid "No author found" -msgstr "Nenhum autor encontrado" +msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" -msgstr "A extensão '{p}' não é compatível com a versão atual do InvenTree {v}" +msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" -msgstr "Extensão requer pelo menos a versão {v}" +msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" -msgstr "Extensão requer no máximo a versão {v}" +msgstr "" #: plugin/samples/integration/sample.py:52 msgid "Enable PO" -msgstr "Ativar PO" +msgstr "" #: plugin/samples/integration/sample.py:53 msgid "Enable PO functionality in InvenTree interface" -msgstr "Ativar a funcionalidade PO na interface InvenTree" +msgstr "" #: plugin/samples/integration/sample.py:58 msgid "API Key" -msgstr "Chave API" +msgstr "" #: plugin/samples/integration/sample.py:59 msgid "Key required for accessing external API" -msgstr "Chave necessária para acesso à API externa" +msgstr "" #: plugin/samples/integration/sample.py:63 msgid "Numerical" -msgstr "Numérico" +msgstr "" #: plugin/samples/integration/sample.py:64 msgid "A numerical setting" -msgstr "Uma configuração numérica" +msgstr "" #: plugin/samples/integration/sample.py:69 msgid "Choice Setting" -msgstr "Configurações de Escolha" +msgstr "" #: plugin/samples/integration/sample.py:70 msgid "A setting with multiple choices" -msgstr "Uma configuração com várias escolhas" +msgstr "" #: plugin/samples/integration/sample_currency_exchange.py:15 msgid "Sample currency exchange plugin" -msgstr "Plugin de Câmbio de exemplo" +msgstr "" #: plugin/samples/integration/sample_currency_exchange.py:18 msgid "InvenTree Contributors" -msgstr "Contribuidores do InvenTree" +msgstr "" #: plugin/serializers.py:81 msgid "Source URL" -msgstr "URL de origem" +msgstr "" #: plugin/serializers.py:83 msgid "Source for the package - this can be a custom registry or a VCS path" -msgstr "Fonte do pacote — este pode ser um registro personalizado ou um caminho de VCS" +msgstr "" #: plugin/serializers.py:92 msgid "Name for the Plugin Package - can also contain a version indicator" -msgstr "Nome para o Pacote da Extensão — também pode conter um indicador de versão" +msgstr "" #: plugin/serializers.py:99 #: templates/InvenTree/settings/plugin_settings.html:42 #: templates/js/translated/plugin.js:86 msgid "Version" -msgstr "Versão" +msgstr "" #: plugin/serializers.py:101 msgid "Version specifier for the plugin. Leave blank for latest version." @@ -8310,51 +8330,51 @@ msgstr "" #: plugin/serializers.py:106 msgid "Confirm plugin installation" -msgstr "Confirmar instalação da extensão" +msgstr "" #: plugin/serializers.py:108 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." -msgstr "Isto instalará a extensão agora na instância atual. A instância irá entrar em manutenção." +msgstr "" #: plugin/serializers.py:121 msgid "Installation not confirmed" -msgstr "Instalação não confirmada" +msgstr "" #: plugin/serializers.py:123 msgid "Either packagename of URL must be provided" -msgstr "Qualquer nome do pacote URL deve ser fornecido" +msgstr "" #: plugin/serializers.py:161 msgid "Full reload" -msgstr "Recarregamento completo" +msgstr "" #: plugin/serializers.py:162 msgid "Perform a full reload of the plugin registry" -msgstr "Realize um recarregamento completo do registro de plugin" +msgstr "" #: plugin/serializers.py:168 msgid "Force reload" -msgstr "Forçar recarregamento" +msgstr "" #: plugin/serializers.py:170 msgid "Force a reload of the plugin registry, even if it is already loaded" -msgstr "Forçar um recarregamento do registro do plugin, mesmo que já esteja carregado" +msgstr "" #: plugin/serializers.py:177 msgid "Collect plugins" -msgstr "Coletar plugins" +msgstr "" #: plugin/serializers.py:178 msgid "Collect plugins and add them to the registry" -msgstr "Colete plugins e adicione-os ao registro" +msgstr "" #: plugin/serializers.py:205 msgid "Activate Plugin" -msgstr "Ativar Extensão" +msgstr "" #: plugin/serializers.py:206 msgid "Activate this plugin" -msgstr "Ativar esta extensão" +msgstr "" #: plugin/serializers.py:226 msgid "Delete configuration" @@ -8366,7 +8386,7 @@ msgstr "" #: report/api.py:88 msgid "No valid objects provided to template" -msgstr "Nenhum objeto válido fornecido para o modelo" +msgstr "" #: report/api.py:103 report/models.py:439 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 @@ -8374,7 +8394,7 @@ msgstr "Nenhum objeto válido fornecido para o modelo" #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 msgid "Items" -msgstr "Itens" +msgstr "" #: report/api.py:180 msgid "Plugin not found" @@ -8398,12 +8418,12 @@ msgstr "" #: report/api.py:283 msgid "Error printing label" -msgstr "Erro ao imprimir etiqueta" +msgstr "" #: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" -msgstr "Arquivo modelo '{template}' perdido ou não existe" +msgstr "" #: report/helpers.py:43 msgid "A4" @@ -8415,11 +8435,11 @@ msgstr "" #: report/helpers.py:45 msgid "Legal" -msgstr "Ofício" +msgstr "" #: report/helpers.py:46 msgid "Letter" -msgstr "Carta" +msgstr "" #: report/models.py:119 msgid "Template file with this name already exists" @@ -8427,7 +8447,7 @@ msgstr "" #: report/models.py:151 msgid "Template name" -msgstr "Nome do modelo" +msgstr "" #: report/models.py:157 msgid "Template description" @@ -8439,7 +8459,7 @@ msgstr "" #: report/models.py:203 msgid "Filename Pattern" -msgstr "Padrão de Nome de Arquivo" +msgstr "" #: report/models.py:204 msgid "Pattern for generating filenames" @@ -8455,7 +8475,7 @@ msgstr "" #: report/models.py:235 msgid "Filters" -msgstr "Filtros" +msgstr "" #: report/models.py:236 msgid "Template query filters (comma-separated list of key=value pairs)" @@ -8467,27 +8487,27 @@ msgstr "" #: report/models.py:303 msgid "Page size for PDF reports" -msgstr "Tamanho da página para relatórios PDF" +msgstr "" #: report/models.py:309 msgid "Render report in landscape orientation" -msgstr "Renderizar relatório em orientação paisagem" +msgstr "" #: report/models.py:368 msgid "Width [mm]" -msgstr "Largura [mm]" +msgstr "" #: report/models.py:369 msgid "Label width, specified in mm" -msgstr "Largura da etiqueta, em mm" +msgstr "" #: report/models.py:375 msgid "Height [mm]" -msgstr "Altura [mm]" +msgstr "" #: report/models.py:376 msgid "Label height, specified in mm" -msgstr "Altura da Etiqueta, em mm" +msgstr "" #: report/models.py:439 msgid "Number of items to process" @@ -8499,7 +8519,7 @@ msgstr "" #: report/models.py:449 templates/js/translated/build.js:2177 msgid "Progress" -msgstr "Progresso" +msgstr "" #: report/models.py:449 msgid "Report generation progress" @@ -8527,27 +8547,27 @@ msgstr "" #: report/models.py:503 msgid "Snippet" -msgstr "Recorte" +msgstr "" #: report/models.py:504 msgid "Report snippet file" -msgstr "Relatar arquivo de recorte" +msgstr "" #: report/models.py:511 msgid "Snippet file description" -msgstr "Descrição do arquivo de recorte" +msgstr "" #: report/models.py:529 msgid "Asset" -msgstr "Patrimônio" +msgstr "" #: report/models.py:530 msgid "Report asset file" -msgstr "Reportar arquivo de ativos" +msgstr "" #: report/models.py:537 msgid "Asset file description" -msgstr "Descrição do arquivo de ativos" +msgstr "" #: report/serializers.py:91 msgid "Select report template" @@ -8559,7 +8579,7 @@ msgstr "" #: report/serializers.py:132 msgid "Select label template" -msgstr "Selecione o modelo de etiqueta" +msgstr "" #: report/serializers.py:140 msgid "Printing Plugin" @@ -8574,25 +8594,25 @@ msgstr "" #: report/templates/label/stocklocation_qr.html:20 #: templates/allauth_2fa/setup.html:18 msgid "QR Code" -msgstr "Código QR" +msgstr "" #: report/templates/label/part_label_code128.html:31 #: report/templates/label/stocklocation_qr_and_text.html:31 #: templates/qr_code.html:7 msgid "QR code" -msgstr "Código QR" +msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" -msgstr "Materiais necessários" +msgstr "" #: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" -msgstr "Necessário para" +msgstr "" #: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" -msgstr "Fornecedor foi excluído" +msgstr "" #: report/templates/report/inventree_purchase_order_report.html:30 #: report/templates/report/inventree_sales_order_report.html:30 @@ -8602,13 +8622,13 @@ msgstr "Fornecedor foi excluído" #: templates/js/translated/purchase_order.js:2115 #: templates/js/translated/sales_order.js:1873 msgid "Unit Price" -msgstr "Preço unitário" +msgstr "" #: report/templates/report/inventree_purchase_order_report.html:55 #: report/templates/report/inventree_return_order_report.html:48 #: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" -msgstr "Extra Itens de Linha" +msgstr "" #: report/templates/report/inventree_purchase_order_report.html:72 #: report/templates/report/inventree_sales_order_report.html:72 @@ -8630,96 +8650,96 @@ msgstr "" #: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" -msgstr "Número de Sério" +msgstr "" #: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" -msgstr "Estoque de itens do local" +msgstr "" #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" -msgstr "Relatório Teste do Item em Estoque" +msgstr "" #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" -msgstr "Resultados do teste" +msgstr "" #: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" -msgstr "Teste" +msgstr "" #: report/templates/report/inventree_test_report.html:103 stock/models.py:2412 msgid "Result" -msgstr "Resultado" +msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" -msgstr "Aprovado" +msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" -msgstr "Não Aprovado" +msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" -msgstr "Sem resultado (obrigatório)" +msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" -msgstr "Nenhum resultado" +msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" -msgstr "Itens instalados" +msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" -msgstr "Série" +msgstr "" #: report/templatetags/report.py:96 msgid "Asset file does not exist" -msgstr "O arquivo não existe" +msgstr "" #: report/templatetags/report.py:152 report/templatetags/report.py:217 msgid "Image file not found" -msgstr "Arquivo de imagem não encontrado" +msgstr "" #: report/templatetags/report.py:242 msgid "part_image tag requires a Part instance" -msgstr "Tag part_image necessita de uma instância de Peça" +msgstr "" #: report/templatetags/report.py:283 msgid "company_image tag requires a Company instance" -msgstr "Tag company_image necessita de uma instância de Empresa" +msgstr "" #: stock/admin.py:51 stock/admin.py:171 msgid "Location ID" -msgstr "ID do local" +msgstr "" #: stock/admin.py:53 stock/admin.py:175 msgid "Location Name" -msgstr "Nome do Local" +msgstr "" #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" -msgstr "Caminho do local" +msgstr "" #: stock/admin.py:148 msgid "Stock Item ID" -msgstr "ID do item estoque" +msgstr "" #: stock/admin.py:167 msgid "Status Code" -msgstr "Código da situação" +msgstr "" #: stock/admin.py:179 msgid "Supplier Part ID" -msgstr "Número da Peça do Fornecedor" +msgstr "" #: stock/admin.py:184 msgid "Supplier Part SKU" @@ -8727,304 +8747,308 @@ msgstr "" #: stock/admin.py:189 msgid "Supplier ID" -msgstr "ID do Fornecedor" +msgstr "" #: stock/admin.py:195 msgid "Supplier Name" -msgstr "Nome do Fornecedor" +msgstr "" #: stock/admin.py:200 msgid "Customer ID" -msgstr "ID Cliente" +msgstr "" #: stock/admin.py:205 stock/models.py:804 #: stock/templates/stock/item_base.html:354 msgid "Installed In" -msgstr "Instalado em" +msgstr "" #: stock/admin.py:210 msgid "Build ID" -msgstr "ID da Produção" +msgstr "" #: stock/admin.py:220 msgid "Sales Order ID" -msgstr "ID do pedido de venda" +msgstr "" #: stock/admin.py:225 msgid "Purchase Order ID" -msgstr "ID do pedido de compra" +msgstr "" #: stock/admin.py:240 msgid "Review Needed" -msgstr "Revisão Necessária" +msgstr "" #: stock/admin.py:245 msgid "Delete on Deplete" -msgstr "Excluir quando esgotado" +msgstr "" #: stock/admin.py:260 stock/models.py:898 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" -msgstr "Data de validade" +msgstr "" #: stock/api.py:312 msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" -msgstr "Localização externa" +msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" -msgstr "Árvore de Peças" +msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" -msgstr "Data de validade antes" +msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" -msgstr "Data de validade depois" +msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" -msgstr "Inativo" +msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" -msgstr "Quantidade obrigatória" +msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" -msgstr "Uma peça válida deve ser fornecida" +msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" -msgstr "A peça do fornecedor informado não existe" +msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" -msgstr "A peça do fornecedor tem um tamanho de pacote definido, mas o item use_pack_size não foi definida" +msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" -msgstr "Números de série não podem ser fornecidos para uma parte não rastreável" +msgstr "" #: stock/models.py:60 msgid "Stock Location type" -msgstr "Tipo de Local de estoque" +msgstr "" #: stock/models.py:61 msgid "Stock Location types" -msgstr "Tipos de Locais de estoque" +msgstr "" #: stock/models.py:87 msgid "Default icon for all locations that have no icon set (optional)" -msgstr "Ícone padrão para todos os locais que não tem um ícone (opcional)" +msgstr "" #: stock/models.py:124 stock/models.py:786 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" -msgstr "Localização do estoque" +msgstr "" #: stock/models.py:125 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" -msgstr "Locais de estoque" +msgstr "" #: stock/models.py:167 stock/models.py:947 #: stock/templates/stock/item_base.html:247 msgid "Owner" -msgstr "Responsavel" +msgstr "" #: stock/models.py:168 stock/models.py:948 msgid "Select Owner" -msgstr "Selecionar Responsável" +msgstr "" #: stock/models.py:176 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "Os itens de estoque podem não estar diretamente localizados em um local de estoque estrutural, mas podem ser localizados em locais filhos." +msgstr "" #: stock/models.py:183 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" -msgstr "Externo" +msgstr "" #: stock/models.py:184 msgid "This is an external stock location" -msgstr "Esta é uma localização de estoque externo" +msgstr "" #: stock/models.py:190 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" -msgstr "Tipo de localização" +msgstr "" #: stock/models.py:194 msgid "Stock location type of this location" -msgstr "Tipo de Local de Estoque para esta locação" +msgstr "" #: stock/models.py:261 msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "Você não pode tornar este local do estoque estrutural, pois alguns itens de estoque já estão localizados nele!" +msgstr "" #: stock/models.py:641 msgid "Stock items cannot be located into structural stock locations!" -msgstr "Os itens de estoque não podem estar localizados em locais de estoque estrutural!" +msgstr "" #: stock/models.py:668 stock/serializers.py:446 msgid "Stock item cannot be created for virtual parts" -msgstr "Item de estoque não pode ser criado para peças virtuais" +msgstr "" #: stock/models.py:685 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" -msgstr "Tipo de peça('{self.supplier_part.part}') deve ser {self.part}" +msgstr "" #: stock/models.py:695 stock/models.py:708 msgid "Quantity must be 1 for item with a serial number" -msgstr "A quantidade deve ser 1 para um item com número de série" +msgstr "" #: stock/models.py:698 msgid "Serial number cannot be set if quantity greater than 1" -msgstr "Número de série não pode ser definido se quantidade maior que 1" +msgstr "" #: stock/models.py:722 msgid "Item cannot belong to itself" -msgstr "O item não pode pertencer a si mesmo" +msgstr "" #: stock/models.py:727 msgid "Item must have a build reference if is_building=True" -msgstr "Item deve ter uma referência de produção se is_building=True" +msgstr "" #: stock/models.py:740 msgid "Build reference does not point to the same part object" -msgstr "Referência de produção não aponta ao mesmo objeto da peça" +msgstr "" #: stock/models.py:756 msgid "Parent Stock Item" -msgstr "Item de Estoque Parental" +msgstr "" #: stock/models.py:768 msgid "Base part" -msgstr "Peça base" +msgstr "" #: stock/models.py:778 msgid "Select a matching supplier part for this stock item" -msgstr "Selecione uma peça do fornecedor correspondente para este item de estoque" +msgstr "" #: stock/models.py:790 msgid "Where is this stock item located?" -msgstr "Onde está localizado este item de estoque?" +msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" -msgstr "Embalagem deste item de estoque está armazenado em" +msgstr "" #: stock/models.py:809 msgid "Is this item installed in another item?" -msgstr "Este item está instalado em outro item?" +msgstr "" #: stock/models.py:828 msgid "Serial number for this item" -msgstr "Número de série para este item" +msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" -msgstr "Código do lote para este item de estoque" +msgstr "" #: stock/models.py:847 msgid "Stock Quantity" -msgstr "Quantidade de Estoque" +msgstr "" #: stock/models.py:857 msgid "Source Build" -msgstr "Produção de Origem" +msgstr "" #: stock/models.py:860 msgid "Build for this stock item" -msgstr "Produção para este item de estoque" +msgstr "" #: stock/models.py:867 stock/templates/stock/item_base.html:363 msgid "Consumed By" -msgstr "Consumido por" +msgstr "" #: stock/models.py:870 msgid "Build order which consumed this stock item" -msgstr "Pedido de produção que consumiu este item de estoque" +msgstr "" #: stock/models.py:879 msgid "Source Purchase Order" -msgstr "Pedido de compra Fonte" +msgstr "" #: stock/models.py:883 msgid "Purchase order for this stock item" -msgstr "Pedido de Compra para este item de estoque" +msgstr "" #: stock/models.py:889 msgid "Destination Sales Order" -msgstr "Destino do Pedido de Venda" +msgstr "" #: stock/models.py:900 msgid "Expiry date for stock item. Stock will be considered expired after this date" -msgstr "Data de validade para o item de estoque. Estoque será considerado expirado após este dia" +msgstr "" #: stock/models.py:918 msgid "Delete on deplete" -msgstr "Excluir quando esgotado" +msgstr "" #: stock/models.py:919 msgid "Delete this Stock Item when stock is depleted" -msgstr "Excluir este item de estoque quando o estoque for esgotado" +msgstr "" #: stock/models.py:939 msgid "Single unit purchase price at time of purchase" -msgstr "Preço de compra unitário único no momento da compra" +msgstr "" #: stock/models.py:970 msgid "Converted to part" -msgstr "Convertido para peça" +msgstr "" #: stock/models.py:1486 msgid "Part is not set as trackable" -msgstr "Peça não está definida como rastreável" +msgstr "" #: stock/models.py:1492 msgid "Quantity must be integer" -msgstr "Quantidade deve ser inteira" +msgstr "" #: stock/models.py:1500 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" -msgstr "Quantidade não deve exceder a quantidade em estoque ({self.quantity})" +msgstr "" #: stock/models.py:1506 msgid "Serial numbers must be a list of integers" -msgstr "Números de série devem ser uma lista de números inteiros" +msgstr "" #: stock/models.py:1511 msgid "Quantity does not match serial numbers" -msgstr "A quantidade não corresponde aos números de série" +msgstr "" #: stock/models.py:1519 stock/serializers.py:660 msgid "Serial numbers already exist" -msgstr "Números de série já existem" +msgstr "" #: stock/models.py:1616 msgid "Test template does not exist" @@ -9032,59 +9056,59 @@ msgstr "" #: stock/models.py:1634 msgid "Stock item has been assigned to a sales order" -msgstr "Item em estoque foi reservado para um pedido" +msgstr "" #: stock/models.py:1638 msgid "Stock item is installed in another item" -msgstr "Item em estoque está instalado em outro item" +msgstr "" #: stock/models.py:1641 msgid "Stock item contains other items" -msgstr "item em estoque contem outro(s) items" +msgstr "" #: stock/models.py:1644 msgid "Stock item has been assigned to a customer" -msgstr "Item em estoque foi reservado para outro cliente" +msgstr "" #: stock/models.py:1647 msgid "Stock item is currently in production" -msgstr "Item no estoque está em produção no momento" +msgstr "" #: stock/models.py:1650 msgid "Serialized stock cannot be merged" -msgstr "Itens de série não podem ser mesclados" +msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" -msgstr "Item de estoque duplicado" +msgstr "" #: stock/models.py:1661 msgid "Stock items must refer to the same part" -msgstr "Itens de estoque devem se referir à mesma peça" +msgstr "" #: stock/models.py:1669 msgid "Stock items must refer to the same supplier part" -msgstr "Itens de estoque devem se referir à mesma peça do fornecedor" +msgstr "" #: stock/models.py:1674 msgid "Stock status codes must match" -msgstr "Códigos de estado do estoque devem corresponder" +msgstr "" #: stock/models.py:1901 msgid "StockItem cannot be moved as it is not in stock" -msgstr "Item do estoque não pode ser realocado se não houver estoque da mesma" +msgstr "" #: stock/models.py:2310 msgid "Entry notes" -msgstr "Observações de entrada" +msgstr "" #: stock/models.py:2378 msgid "Value must be provided for this test" -msgstr "Deve-se fornecer o valor desse teste" +msgstr "" #: stock/models.py:2383 msgid "Attachment must be uploaded for this test" -msgstr "O anexo deve ser enviado para este teste" +msgstr "" #: stock/models.py:2388 msgid "Invalid value for this test" @@ -9092,19 +9116,19 @@ msgstr "" #: stock/models.py:2412 msgid "Test result" -msgstr "Resultado do teste" +msgstr "" #: stock/models.py:2419 msgid "Test output value" -msgstr "Valor da saída do teste" +msgstr "" #: stock/models.py:2427 msgid "Test result attachment" -msgstr "Anexo do resultado do teste" +msgstr "" #: stock/models.py:2431 msgid "Test notes" -msgstr "Notas do teste" +msgstr "" #: stock/models.py:2439 templates/js/translated/stock.js:1548 msgid "Test station" @@ -9184,176 +9208,180 @@ msgstr "" #: stock/serializers.py:315 msgid "Serial number is too large" -msgstr "Número de série é muito grande" +msgstr "" #: stock/serializers.py:438 msgid "Use pack size when adding: the quantity defined is the number of packs" -msgstr "Usar tamanho do pacote ao adicionar: a quantidade definida é o número de pacotes" +msgstr "" #: stock/serializers.py:558 msgid "Purchase price of this stock item, per unit or pack" -msgstr "Preço de compra para este item de estoque, por unidade ou pacote" +msgstr "" #: stock/serializers.py:595 msgid "Enter number of stock items to serialize" -msgstr "Insira o número de itens de estoque para serializar" +msgstr "" #: stock/serializers.py:608 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" -msgstr "Quantidade não deve exceder a quantidade disponível em estoque ({q})" +msgstr "" #: stock/serializers.py:615 msgid "Enter serial numbers for new items" -msgstr "Inserir número de série para novos itens" +msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" -msgstr "Local de destino do estoque" +msgstr "" #: stock/serializers.py:633 msgid "Optional note field" -msgstr "Campo opcional de notas" +msgstr "" #: stock/serializers.py:643 msgid "Serial numbers cannot be assigned to this part" -msgstr "Números de série não podem ser atribuídos a esta peça" +msgstr "" #: stock/serializers.py:698 msgid "Select stock item to install" -msgstr "Selecione o item de estoque para instalar" +msgstr "" #: stock/serializers.py:705 msgid "Quantity to Install" -msgstr "Quantidade a Instalar" +msgstr "" #: stock/serializers.py:706 msgid "Enter the quantity of items to install" -msgstr "Insira a quantidade de itens a instalar" +msgstr "" #: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 #: stock/serializers.py:937 msgid "Add transaction note (optional)" -msgstr "Adicionar nota de transação (opcional)" +msgstr "" #: stock/serializers.py:719 msgid "Quantity to install must be at least 1" -msgstr "A quantidade para instalar deve ser pelo menos 1" +msgstr "" #: stock/serializers.py:727 msgid "Stock item is unavailable" -msgstr "Item de estoque indisponível" +msgstr "" #: stock/serializers.py:738 msgid "Selected part is not in the Bill of Materials" -msgstr "Peça selecionada não está na Lista de Materiais" +msgstr "" #: stock/serializers.py:751 msgid "Quantity to install must not exceed available quantity" -msgstr "Quantidade a instalar não deve exceder a quantidade disponível" +msgstr "" #: stock/serializers.py:786 msgid "Destination location for uninstalled item" -msgstr "Local de destino para o item desinstalado" +msgstr "" #: stock/serializers.py:821 msgid "Select part to convert stock item into" -msgstr "Selecione peça para converter o item de estoque em" +msgstr "" #: stock/serializers.py:834 msgid "Selected part is not a valid option for conversion" -msgstr "Peça selecionada não é uma opção válida para conversão" +msgstr "" #: stock/serializers.py:851 msgid "Cannot convert stock item with assigned SupplierPart" -msgstr "Não é possível converter o item de estoque com a Peça de Fornecedor atribuída" +msgstr "" #: stock/serializers.py:882 msgid "Destination location for returned item" -msgstr "Local de destino para item retornado" +msgstr "" #: stock/serializers.py:919 msgid "Select stock items to change status" -msgstr "Selecionar itens de estoque para mudar estados" +msgstr "" #: stock/serializers.py:925 msgid "No stock items selected" -msgstr "Nenhum item de estoque selecionado" +msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" -msgstr "Sub-locais" +msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" -msgstr "Parte deve ser comercializável" +msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" -msgstr "Item é alocado para um pedido de venda" +msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" -msgstr "Item está alocado a um pedido de produção" +msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" -msgstr "Cliente para atribuir itens de estoque" +msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" -msgstr "A empresa selecionada não é um cliente" +msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" -msgstr "Nodas atribuídas a estoque" +msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" -msgstr "Uma lista de item de estoque deve ser providenciada" +msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" -msgstr "Notas de fusão de estoque" +msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" -msgstr "Permitir fornecedores divergentes" +msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" -msgstr "Permitir a fusão de itens de estoque de fornecedores diferentes" +msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" -msgstr "Permitir estado incompatível" +msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" -msgstr "Permitir a fusão de itens de estoque com estado diferentes" +msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" -msgstr "Ao menos dois itens de estoque devem ser providenciados" +msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" -msgstr "Valor da chave primária do Item Estoque" +msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" -msgstr "Código de estado do item estoque" +msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" -msgstr "Notas da transação de estoque" +msgstr "" #: stock/status_codes.py:11 msgid "OK" @@ -9361,454 +9389,454 @@ msgstr "" #: stock/status_codes.py:12 msgid "Attention needed" -msgstr "Necessita de atenção" +msgstr "" #: stock/status_codes.py:13 msgid "Damaged" -msgstr "Danificado" +msgstr "" #: stock/status_codes.py:14 msgid "Destroyed" -msgstr "Destruído" +msgstr "" #: stock/status_codes.py:15 msgid "Rejected" -msgstr "Rejeitado" +msgstr "" #: stock/status_codes.py:19 msgid "Quarantined" -msgstr "Em quarentena" +msgstr "" #: stock/status_codes.py:40 msgid "Legacy stock tracking entry" -msgstr "Entrada de rastreamento de estoque antiga" +msgstr "" #: stock/status_codes.py:42 templates/js/translated/stock.js:544 msgid "Stock item created" -msgstr "Item de estoque criado" +msgstr "" #: stock/status_codes.py:45 msgid "Edited stock item" -msgstr "Item de estoque editado" +msgstr "" #: stock/status_codes.py:46 msgid "Assigned serial number" -msgstr "Número de série atribuído" +msgstr "" #: stock/status_codes.py:49 msgid "Stock counted" -msgstr "Estoque contado" +msgstr "" #: stock/status_codes.py:50 msgid "Stock manually added" -msgstr "Estoque adicionado manualmente" +msgstr "" #: stock/status_codes.py:51 msgid "Stock manually removed" -msgstr "Estoque removido manualmente" +msgstr "" #: stock/status_codes.py:54 msgid "Location changed" -msgstr "Local alterado" +msgstr "" #: stock/status_codes.py:55 msgid "Stock updated" -msgstr "Estoque atualizado" +msgstr "" #: stock/status_codes.py:58 msgid "Installed into assembly" -msgstr "Instalado na montagem" +msgstr "" #: stock/status_codes.py:59 msgid "Removed from assembly" -msgstr "Removido da montagem" +msgstr "" #: stock/status_codes.py:61 msgid "Installed component item" -msgstr "Instalado componente do Item" +msgstr "" #: stock/status_codes.py:62 msgid "Removed component item" -msgstr "Removido componente do Item" +msgstr "" #: stock/status_codes.py:65 msgid "Split from parent item" -msgstr "Separado do Item Paternal" +msgstr "" #: stock/status_codes.py:66 msgid "Split child item" -msgstr "Separar o Item filho" +msgstr "" #: stock/status_codes.py:69 templates/js/translated/stock.js:1858 msgid "Merged stock items" -msgstr "Itens de estoque mesclados" +msgstr "" #: stock/status_codes.py:72 msgid "Converted to variant" -msgstr "Convertido para variável" +msgstr "" #: stock/status_codes.py:75 msgid "Build order output created" -msgstr "Criação dos pedidos de produção criado" +msgstr "" #: stock/status_codes.py:76 msgid "Build order output completed" -msgstr "Criação do pedido de produção completado" +msgstr "" #: stock/status_codes.py:77 msgid "Build order output rejected" -msgstr "Saída do pedido de produção rejeitada" +msgstr "" #: stock/status_codes.py:78 templates/js/translated/stock.js:1764 msgid "Consumed by build order" -msgstr "Usado no pedido de produção" +msgstr "" #: stock/status_codes.py:81 msgid "Shipped against Sales Order" -msgstr "Enviado contra o Pedido de Venda" +msgstr "" #: stock/status_codes.py:84 msgid "Received against Purchase Order" -msgstr "Recebido referente ao Pedido de Compra" +msgstr "" #: stock/status_codes.py:87 msgid "Returned against Return Order" -msgstr "Devolvido contra Pedido de Retorno" +msgstr "" #: stock/status_codes.py:90 templates/js/translated/table_filters.js:375 msgid "Sent to customer" -msgstr "Enviado ao cliente" +msgstr "" #: stock/status_codes.py:91 msgid "Returned from customer" -msgstr "Devolvido pelo cliente" +msgstr "" #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" -msgstr "Informações de Rastrrio de Estoque" +msgstr "" #: stock/templates/stock/item.html:63 msgid "Child Stock Items" -msgstr "Itens de Estoque Filhos" +msgstr "" #: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" -msgstr "Este item de estoque não possuí nenhum filho" +msgstr "" #: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" -msgstr "Dados de teste" +msgstr "" #: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 msgid "Test Report" -msgstr "Relatório do teste" +msgstr "" #: stock/templates/stock/item.html:89 stock/templates/stock/item.html:276 msgid "Delete Test Data" -msgstr "Excluir dados de teste" +msgstr "" #: stock/templates/stock/item.html:93 msgid "Add Test Data" -msgstr "Adicionar dados de teste" +msgstr "" #: stock/templates/stock/item.html:125 msgid "Stock Item Notes" -msgstr "Notas de Item Estoque" +msgstr "" #: stock/templates/stock/item.html:140 msgid "Installed Stock Items" -msgstr "Itens de Estoque Instalados" +msgstr "" #: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" -msgstr "Instalar Item de Estoque" +msgstr "" #: stock/templates/stock/item.html:264 msgid "Delete all test results for this stock item" -msgstr "Excluir todos os resultados de teste deste item de estoque" +msgstr "" #: stock/templates/stock/item.html:294 templates/js/translated/stock.js:1701 msgid "Add Test Result" -msgstr "Adicionar Resultado de Teste" +msgstr "" #: stock/templates/stock/item_base.html:33 msgid "Locate stock item" -msgstr "Localizar item de estoque" +msgstr "" #: stock/templates/stock/item_base.html:51 msgid "Scan to Location" -msgstr "Escanear a Localização" +msgstr "" #: stock/templates/stock/item_base.html:59 #: stock/templates/stock/location.html:70 #: templates/js/translated/filters.js:431 msgid "Printing actions" -msgstr "Ações de Impressão" +msgstr "" #: stock/templates/stock/item_base.html:75 msgid "Stock adjustment actions" -msgstr "Ações de ajuste de estoque" +msgstr "" #: stock/templates/stock/item_base.html:79 #: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1824 msgid "Count stock" -msgstr "Contagem de estoque" +msgstr "" #: stock/templates/stock/item_base.html:81 #: templates/js/translated/stock.js:1806 msgid "Add stock" -msgstr "Adicionar estoque" +msgstr "" #: stock/templates/stock/item_base.html:82 #: templates/js/translated/stock.js:1815 msgid "Remove stock" -msgstr "Remover estoque" +msgstr "" #: stock/templates/stock/item_base.html:85 msgid "Serialize stock" -msgstr "Serializar estoque" +msgstr "" #: stock/templates/stock/item_base.html:88 #: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1833 msgid "Transfer stock" -msgstr "Transferir estoque" +msgstr "" #: stock/templates/stock/item_base.html:91 #: templates/js/translated/stock.js:1887 msgid "Assign to customer" -msgstr "Disponibilizar para o cliente" +msgstr "" #: stock/templates/stock/item_base.html:94 msgid "Return to stock" -msgstr "Devolver ao estoque" +msgstr "" #: stock/templates/stock/item_base.html:97 msgid "Uninstall stock item" -msgstr "Desinstalar o item do estoque" +msgstr "" #: stock/templates/stock/item_base.html:97 msgid "Uninstall" -msgstr "Desinstalar" +msgstr "" #: stock/templates/stock/item_base.html:101 msgid "Install stock item" -msgstr "Instalar item do estoque" +msgstr "" #: stock/templates/stock/item_base.html:101 msgid "Install" -msgstr "Instalar" +msgstr "" #: stock/templates/stock/item_base.html:115 msgid "Convert to variant" -msgstr "Converter em variante" +msgstr "" #: stock/templates/stock/item_base.html:118 msgid "Duplicate stock item" -msgstr "Duplicar item" +msgstr "" #: stock/templates/stock/item_base.html:120 msgid "Edit stock item" -msgstr "Editar item de estoque" +msgstr "" #: stock/templates/stock/item_base.html:123 msgid "Delete stock item" -msgstr "Excluir item de estoque" +msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2123 templates/navbar.html:38 msgid "Build" -msgstr "Produção" +msgstr "" #: stock/templates/stock/item_base.html:193 msgid "Parent Item" -msgstr "Item Primário" +msgstr "" #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" -msgstr "Nenhum fabricante definido" +msgstr "" #: stock/templates/stock/item_base.html:251 msgid "You are not in the list of owners of this item. This stock item cannot be edited." -msgstr "Você não está autorizado a editar esse item." +msgstr "" #: stock/templates/stock/item_base.html:252 #: stock/templates/stock/location.html:149 msgid "Read only" -msgstr "Somente leitura" +msgstr "" #: stock/templates/stock/item_base.html:265 msgid "This stock item is unavailable" -msgstr "Este item não está disponível no estoque" +msgstr "" #: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." -msgstr "Este item de estoque está em produção e não pode ser editado." +msgstr "" #: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." -msgstr "Edite este item usando o formulário de construçao." +msgstr "" #: stock/templates/stock/item_base.html:287 msgid "This stock item is allocated to Sales Order" -msgstr "Este item de estoque está alocado a um pedido de venda" +msgstr "" #: stock/templates/stock/item_base.html:295 msgid "This stock item is allocated to Build Order" -msgstr "Este item de estoque está alocado a um pedido de produção" +msgstr "" #: stock/templates/stock/item_base.html:311 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" -msgstr "Este item de estoque é serializado. Tem um único número de série e a quantidade não pode ser ajustada" +msgstr "" #: stock/templates/stock/item_base.html:317 msgid "previous page" -msgstr "página anterior" +msgstr "" #: stock/templates/stock/item_base.html:317 msgid "Navigate to previous serial number" -msgstr "Navegar para o número de série anterior" +msgstr "" #: stock/templates/stock/item_base.html:326 msgid "next page" -msgstr "próxima página" +msgstr "" #: stock/templates/stock/item_base.html:326 msgid "Navigate to next serial number" -msgstr "Navegar para o próximo número de série" +msgstr "" #: stock/templates/stock/item_base.html:340 msgid "Available Quantity" -msgstr "Quantidade Disponível" +msgstr "" #: stock/templates/stock/item_base.html:398 #: templates/js/translated/build.js:2380 msgid "No location set" -msgstr "Nenhum local definido" +msgstr "" #: stock/templates/stock/item_base.html:413 msgid "Tests" -msgstr "Testes" +msgstr "" #: stock/templates/stock/item_base.html:419 msgid "This stock item has not passed all required tests" -msgstr "Este item de estoque não passou todos os testes necessários" +msgstr "" #: stock/templates/stock/item_base.html:437 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" -msgstr "Este Item do Estoque expirou em %(item.expiry_date)s" +msgstr "" #: stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:435 users/models.py:174 msgid "Expired" -msgstr "Expirado" +msgstr "" #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" -msgstr "Este Item do Estoque expira em %(item.expiry_date)s" +msgstr "" #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" -msgstr "Nenhum balanço feito" +msgstr "" #: stock/templates/stock/item_base.html:504 #: templates/js/translated/stock.js:1952 msgid "stock item" -msgstr "item de estoque" +msgstr "" #: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" -msgstr "Editar Situação do Estoque" +msgstr "" #: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" -msgstr "QR Code do Item de Estoque" +msgstr "" #: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" -msgstr "Vincular Código de barras ao item de estoque" +msgstr "" #: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." -msgstr "Selecione uma das peças variantes listada abaixo." +msgstr "" #: stock/templates/stock/item_base.html:614 msgid "Warning" -msgstr "Atenção" +msgstr "" #: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" -msgstr "Esta ação não pode ser facilmente desfeita" +msgstr "" #: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" -msgstr "Converter Item de Estoque" +msgstr "" #: stock/templates/stock/item_base.html:657 msgid "Return to Stock" -msgstr "Retornar ao Estoque" +msgstr "" #: stock/templates/stock/item_serialize.html:5 msgid "Create serialized items from this stock item." -msgstr "Criar itens serializados deste item de estoque." +msgstr "" #: stock/templates/stock/item_serialize.html:7 msgid "Select quantity to serialize, and unique serial numbers." -msgstr "Selecione a quantidade para serializar e números de série único." +msgstr "" #: stock/templates/stock/location.html:38 msgid "Perform stocktake for this stock location" -msgstr "Fazer balanço para o estoque deste local" +msgstr "" #: stock/templates/stock/location.html:45 msgid "Locate stock location" -msgstr "Localizar o local de estoque" +msgstr "" #: stock/templates/stock/location.html:63 msgid "Scan stock items into this location" -msgstr "Buscar itens de estoque neste local" +msgstr "" #: stock/templates/stock/location.html:63 msgid "Scan In Stock Items" -msgstr "Buscar nos Itens de Estoque" +msgstr "" #: stock/templates/stock/location.html:64 msgid "Scan stock container into this location" -msgstr "Buscar recipiente do estoque neste local" +msgstr "" #: stock/templates/stock/location.html:64 msgid "Scan In Container" -msgstr "Buscar no recipiente" +msgstr "" #: stock/templates/stock/location.html:75 msgid "Print Location Report" -msgstr "Imprimir Relatório da Localização" +msgstr "" #: stock/templates/stock/location.html:104 msgid "Location actions" -msgstr "Ações de Locais" +msgstr "" #: stock/templates/stock/location.html:106 msgid "Edit location" -msgstr "Editar Local" +msgstr "" #: stock/templates/stock/location.html:108 msgid "Delete location" -msgstr "Excluir Local" +msgstr "" #: stock/templates/stock/location.html:138 msgid "Top level stock location" -msgstr "Local de estoque de alto nível" +msgstr "" #: stock/templates/stock/location.html:144 msgid "Location Owner" -msgstr "Dono do Local" +msgstr "" #: stock/templates/stock/location.html:148 msgid "You are not in the list of owners of this location. This stock location cannot be edited." -msgstr "Você não está na lista de donos deste local. Este local de estoque não pode ser editado." +msgstr "" #: stock/templates/stock/location.html:176 msgid "Location Type" @@ -9816,264 +9844,264 @@ msgstr "" #: stock/templates/stock/location.html:226 msgid "Create new stock location" -msgstr "Criar novo local de estoque" +msgstr "" #: stock/templates/stock/location.html:227 msgid "New Location" -msgstr "Novo local" +msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" -msgstr "local de estoque" +msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" -msgstr "Escaneado o recipiente de estoque neste local" +msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" -msgstr "Código QR do Local de Estoque" +msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" -msgstr "Ligar Código de barras ao Local de Estoque" +msgstr "" #: stock/templates/stock/stock_app_base.html:16 msgid "Loading..." -msgstr "Carregando..." +msgstr "" #: stock/templates/stock/stock_sidebar.html:5 msgid "Stock Tracking" -msgstr "Rastreamento de estoque" +msgstr "" #: stock/templates/stock/stock_sidebar.html:8 msgid "Allocations" -msgstr "Alocações" +msgstr "" #: stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" -msgstr "Itens Filhos" +msgstr "" #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" -msgstr "Permissão Negada" +msgstr "" #: templates/403.html:15 msgid "You do not have permission to view this page." -msgstr "Você não tem permissão para visualizar esta página." +msgstr "" #: templates/403_csrf.html:11 msgid "Authentication Failure" -msgstr "Falha na Autenticação" +msgstr "" #: templates/403_csrf.html:14 msgid "You have been logged out from InvenTree." -msgstr "Você foi desconectado do InvenTree." +msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 #: templates/navbar.html:150 msgid "Login" -msgstr "Iniciar sessão" +msgstr "" #: templates/404.html:6 templates/404.html:12 msgid "Page Not Found" -msgstr "Página não encontrada" +msgstr "" #: templates/404.html:15 msgid "The requested page does not exist" -msgstr "A página solicitada não existe" +msgstr "" #: templates/500.html:6 templates/500.html:12 msgid "Internal Server Error" -msgstr "Erro interno do servidor" +msgstr "" #: templates/500.html:15 #, python-format msgid "The %(inventree_title)s server raised an internal error" -msgstr "O servidor %(inventree_title)s gerou um erro interno" +msgstr "" #: templates/500.html:16 msgid "Refer to the error log in the admin interface for further details" -msgstr "Consulte o login de erro na interface admin para mais detalhes" +msgstr "" #: templates/503.html:11 templates/503.html:33 msgid "Site is in Maintenance" -msgstr "Site está em Manutenção" +msgstr "" #: templates/503.html:39 msgid "The site is currently in maintenance and should be up again soon!" -msgstr "O site está atualmente em manutenção e estará de volta em breve!" +msgstr "" #: templates/InvenTree/index.html:7 msgid "Index" -msgstr "Índice" +msgstr "" #: templates/InvenTree/index.html:39 msgid "Subscribed Parts" -msgstr "Peças Inscritas" +msgstr "" #: templates/InvenTree/index.html:52 msgid "Subscribed Categories" -msgstr "Categorias Inscritas" +msgstr "" #: templates/InvenTree/index.html:62 msgid "Latest Parts" -msgstr "Peças Recentes" +msgstr "" #: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" -msgstr "BOM Aguardando Validação" +msgstr "" #: templates/InvenTree/index.html:106 msgid "Recently Updated" -msgstr "Atualizados Recentemente" +msgstr "" #: templates/InvenTree/index.html:134 msgid "Depleted Stock" -msgstr "Estoque Esgotado" +msgstr "" #: templates/InvenTree/index.html:148 msgid "Required for Build Orders" -msgstr "Necessário para pedidos de produção" +msgstr "" #: templates/InvenTree/index.html:156 msgid "Expired Stock" -msgstr "Estoque Expirado" +msgstr "" #: templates/InvenTree/index.html:172 msgid "Stale Stock" -msgstr "Estoque Parado" +msgstr "" #: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" -msgstr "Pedido de Produção em Progresso" +msgstr "" #: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" -msgstr "Pedido de Produção Vencido" +msgstr "" #: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" -msgstr "Pedidos de Compra Pendentes" +msgstr "" #: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" -msgstr "Pedidos de Compra Vencidos" +msgstr "" #: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" -msgstr "Pedidos de Venda Pendentes" +msgstr "" #: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" -msgstr "Pedidos de Venda Vencidos" +msgstr "" #: templates/InvenTree/index.html:299 msgid "InvenTree News" -msgstr "Notícias do InvenTree" +msgstr "" #: templates/InvenTree/index.html:301 msgid "Current News" -msgstr "Notícias Atuais" +msgstr "" #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" -msgstr "Histórico de Notificações" +msgstr "" #: templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:75 msgid "Delete Notifications" -msgstr "Apagar notificações" +msgstr "" #: templates/InvenTree/notifications/inbox.html:9 msgid "Pending Notifications" -msgstr "Notificações Pendentes" +msgstr "" #: templates/InvenTree/notifications/inbox.html:13 #: templates/InvenTree/notifications/inbox.html:14 msgid "Mark all as read" -msgstr "Marcar tudo como lido" +msgstr "" #: templates/InvenTree/notifications/notifications.html:10 #: templates/InvenTree/notifications/sidebar.html:5 #: templates/InvenTree/settings/sidebar.html:17 #: templates/InvenTree/settings/sidebar.html:37 templates/notifications.html:5 msgid "Notifications" -msgstr "Notificações" +msgstr "" #: templates/InvenTree/notifications/notifications.html:38 msgid "No unread notifications found" -msgstr "Nenhuma notificação pendente encontrada" +msgstr "" #: templates/InvenTree/notifications/notifications.html:58 msgid "No notification history found" -msgstr "Sem histórico de notificação encontrado" +msgstr "" #: templates/InvenTree/notifications/notifications.html:65 msgid "Delete all read notifications" -msgstr "Excluir todas as notificações lidas" +msgstr "" #: templates/InvenTree/notifications/notifications.html:89 #: templates/js/translated/notification.js:85 msgid "Delete Notification" -msgstr "Apagar Notificação" +msgstr "" #: templates/InvenTree/notifications/sidebar.html:8 msgid "Inbox" -msgstr "Caixa de entrada" +msgstr "" #: templates/InvenTree/notifications/sidebar.html:10 msgid "History" -msgstr "Histórico" +msgstr "" #: templates/InvenTree/search.html:8 msgid "Search Results" -msgstr "Resultados da busca" +msgstr "" #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" -msgstr "Definições do código de barras" +msgstr "" #: templates/InvenTree/settings/build.html:8 msgid "Build Order Settings" -msgstr "Configurações do Pedido de Produção" +msgstr "" #: templates/InvenTree/settings/category.html:7 msgid "Category Settings" -msgstr "Configurações de categoria" +msgstr "" #: templates/InvenTree/settings/global.html:8 msgid "Server Settings" -msgstr "Configurações do servidor" +msgstr "" #: templates/InvenTree/settings/label.html:8 #: templates/InvenTree/settings/user_labels.html:9 msgid "Label Settings" -msgstr "Configurações de etiqueta" +msgstr "" #: templates/InvenTree/settings/login.html:8 msgid "Login Settings" -msgstr "Configurações de Acesso" +msgstr "" #: templates/InvenTree/settings/login.html:15 msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" -msgstr "O e-mail de saída não foi configurado. Alguns recursos de acesso e inscrição podem não funcionar corretamente!" +msgstr "" #: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" -msgstr "Registrar-se" +msgstr "" #: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" -msgstr "Início de sessão única" +msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 #: templates/InvenTree/settings/settings.html:12 templates/navbar.html:147 msgid "Settings" -msgstr "Configurações" +msgstr "" #: templates/InvenTree/settings/mixins/urls.html:5 msgid "URLs" @@ -10082,20 +10110,20 @@ msgstr "" #: templates/InvenTree/settings/mixins/urls.html:8 #, python-format msgid "The Base-URL for this plugin is %(base)s." -msgstr "A Base-URL para esta extensão é %(base)s." +msgstr "" #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" -msgstr "Endereço da URL" +msgstr "" #: templates/InvenTree/settings/mixins/urls.html:23 msgid "Open in new tab" -msgstr "Abrir em uma nova aba" +msgstr "" #: templates/InvenTree/settings/notifications.html:9 #: templates/InvenTree/settings/user_notifications.html:9 msgid "Notification Settings" -msgstr "Configurações de Notificação" +msgstr "" #: templates/InvenTree/settings/notifications.html:18 msgid "Slug" @@ -10103,451 +10131,451 @@ msgstr "" #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" -msgstr "Configurações de Peça" +msgstr "" #: templates/InvenTree/settings/part.html:43 msgid "Part Import" -msgstr "Peça importada" +msgstr "" #: templates/InvenTree/settings/part.html:47 msgid "Import Part" -msgstr "Importar Peça" +msgstr "" #: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" -msgstr "Modelo de Parâmetro da Peça" +msgstr "" #: templates/InvenTree/settings/part_stocktake.html:7 msgid "Stocktake Settings" -msgstr "Configurações de Balanço" +msgstr "" #: templates/InvenTree/settings/part_stocktake.html:25 msgid "Stocktake Reports" -msgstr "Relatório de Balanço" +msgstr "" #: templates/InvenTree/settings/physical_units.html:8 #: templates/InvenTree/settings/sidebar.html:35 msgid "Physical Units" -msgstr "Unidades Físicas" +msgstr "" #: templates/InvenTree/settings/physical_units.html:12 msgid "Add Unit" -msgstr "Adicionar Unidade" +msgstr "" #: templates/InvenTree/settings/plugin.html:9 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugin Settings" -msgstr "Configurações da Extensão" +msgstr "" #: templates/InvenTree/settings/plugin.html:15 msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." -msgstr "Alterar as configurações abaixo requer que você reinicie imediatamente o servidor. Não altere isso enquanto estiver em uso." +msgstr "" #: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" -msgstr "Extensões" +msgstr "" #: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" -msgstr "Instalar extensão" +msgstr "" #: templates/InvenTree/settings/plugin.html:47 #: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" -msgstr "Recarregar plugins" +msgstr "" #: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" -msgstr "Extensões externos não estão ativados para esta instalação do InvenTree" +msgstr "" #: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" -msgstr "Erro da Pilha da Extensão" +msgstr "" #: templates/InvenTree/settings/plugin.html:82 msgid "Stage" -msgstr "Fase" +msgstr "" #: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" -msgstr "Mensagem" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" -msgstr "Informações da extensões" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" -msgstr "nenhuma informação de versão fornecida" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:61 msgid "License" -msgstr "Licença" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:70 msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running." -msgstr "A informação de código é retirada do último git commit para esta extensão. Pode não refletir números de versão ou informações oficiais, mas sim o código em execução." +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:76 msgid "Package information" -msgstr "Informações do pacote" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:82 msgid "Installation method" -msgstr "Método de instalação" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:85 msgid "This plugin was installed as a package" -msgstr "Esta extensão foi instalada como um pacote" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:87 msgid "This plugin was found in a local server path" -msgstr "Esta extensão foi encontrada no caminho do servidor local" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:93 msgid "Installation path" -msgstr "Caminho de instalação" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 #: templates/js/translated/table_filters.js:496 msgid "Builtin" -msgstr "Embutido" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" -msgstr "Esse é uma extensão embutida que não pode ser desativado" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 #: templates/js/translated/table_filters.js:500 msgid "Sample" -msgstr "Amostra" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:108 msgid "This is a sample plugin" -msgstr "Este é um plugin de exemplo" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:113 msgid "Commit Author" -msgstr "Autor do Commit" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:117 #: templates/about.html:36 msgid "Commit Date" -msgstr "Data do commit" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:121 #: templates/about.html:29 msgid "Commit Hash" -msgstr "Hash do Commit" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:125 msgid "Commit Message" -msgstr "Mensagem do Commit" +msgstr "" #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" -msgstr "Configurações do Pedido de Compra" +msgstr "" #: templates/InvenTree/settings/pricing.html:7 msgid "Pricing Settings" -msgstr "Configurações de preços" +msgstr "" #: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" -msgstr "Taxas de Câmbio" +msgstr "" #: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" -msgstr "Atualizar agora" +msgstr "" #: templates/InvenTree/settings/pricing.html:47 #: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" -msgstr "Última Atualização" +msgstr "" #: templates/InvenTree/settings/pricing.html:51 msgid "Never" -msgstr "Nunca" +msgstr "" #: templates/InvenTree/settings/project_codes.html:8 msgid "Project Code Settings" -msgstr "Configurações de código do projeto" +msgstr "" #: templates/InvenTree/settings/project_codes.html:21 #: templates/InvenTree/settings/sidebar.html:33 msgid "Project Codes" -msgstr "Códigos de Projeto" +msgstr "" #: templates/InvenTree/settings/project_codes.html:25 #: templates/InvenTree/settings/settings_staff_js.html:216 msgid "New Project Code" -msgstr "Novo Código de Projeto" +msgstr "" #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reporting.html:9 msgid "Report Settings" -msgstr "Configurações de relatórios" +msgstr "" #: templates/InvenTree/settings/returns.html:7 msgid "Return Order Settings" -msgstr "Configurações de Pedido de Devolução" +msgstr "" #: templates/InvenTree/settings/setting.html:31 msgid "No value set" -msgstr "Nenhum valor definido" +msgstr "" #: templates/InvenTree/settings/setting.html:46 msgid "Edit setting" -msgstr "Editar configurações" +msgstr "" #: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" -msgstr "Editar Configurações do Plug-in" +msgstr "" #: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" -msgstr "Editar Configurações de Notificação" +msgstr "" #: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" -msgstr "Editar Configurações Globais" +msgstr "" #: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" -msgstr "Editar Configurações de Usuário" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" -msgstr "Taxa" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:402 msgid "Delete" -msgstr "Excluir" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:95 msgid "Edit Custom Unit" -msgstr "Editar Unidade Personalizada" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:110 msgid "Delete Custom Unit" -msgstr "Excluir Unidade Personalizada" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:124 msgid "New Custom Unit" -msgstr "Nova Unidade Personalizada" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:140 msgid "No project codes found" -msgstr "Nenhum código de projetos encontrado" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 #: templates/js/translated/build.js:2228 msgid "group" -msgstr "grupo" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:175 #: templates/InvenTree/settings/settings_staff_js.html:189 msgid "Edit Project Code" -msgstr "Editar Código do Projeto" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:176 #: templates/InvenTree/settings/settings_staff_js.html:203 msgid "Delete Project Code" -msgstr "Excluir Código do Projeto" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:285 msgid "No category parameter templates found" -msgstr "Nenhum modelo de parâmetro de categoria encontrado" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 #: templates/js/translated/part.js:1646 msgid "Edit Template" -msgstr "Editar Modelo" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 #: templates/js/translated/part.js:1647 msgid "Delete Template" -msgstr "Excluir Modelo" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:326 msgid "Edit Category Parameter Template" -msgstr "Editar Parâmetros dos Modelos de Categoria" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:353 msgid "Delete Category Parameter Template" -msgstr "Excluir Parâmetros dos Modelos de Categoria" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:388 msgid "Create Category Parameter Template" -msgstr "Criar Modelo de Parâmetro de Categoria" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:418 msgid "Create Part Parameter Template" -msgstr "Criar Modelo de Parâmetro de Peça" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:440 msgid "No stock location types found" -msgstr "Nenhum tipo de local de estoque encontrado" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:461 msgid "Location count" -msgstr "Contagem Localizações" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:466 #: templates/InvenTree/settings/settings_staff_js.html:480 msgid "Edit Location Type" -msgstr "Editar Tipo de Localização" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:467 msgid "Delete Location type" -msgstr "Apagar Tipo de localização" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:490 msgid "Delete Location Type" -msgstr "Apagar Tipo de Localização" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:500 #: templates/InvenTree/settings/stock.html:38 msgid "New Location Type" -msgstr "Novo Tipo de localização" +msgstr "" #: templates/InvenTree/settings/sidebar.html:6 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" -msgstr "Configurações de usuário" +msgstr "" #: templates/InvenTree/settings/sidebar.html:9 msgid "Account" -msgstr "Conta" +msgstr "" #: templates/InvenTree/settings/sidebar.html:11 msgid "Display" -msgstr "Visualização" +msgstr "" #: templates/InvenTree/settings/sidebar.html:13 msgid "Home Page" -msgstr "Página Inicial" +msgstr "" #: templates/InvenTree/settings/sidebar.html:15 #: templates/js/translated/forms.js:2167 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" -msgstr "Buscar" +msgstr "" #: templates/InvenTree/settings/sidebar.html:19 #: templates/InvenTree/settings/sidebar.html:43 msgid "Reporting" -msgstr "Reportar" +msgstr "" #: templates/InvenTree/settings/sidebar.html:24 msgid "Global Settings" -msgstr "Configurações globais" +msgstr "" #: templates/InvenTree/settings/sidebar.html:27 templates/stats.html:9 msgid "Server" -msgstr "Servidor" +msgstr "" #: templates/InvenTree/settings/sidebar.html:41 msgid "Labels" -msgstr "Etiquetas" +msgstr "" #: templates/InvenTree/settings/sidebar.html:45 msgid "Categories" -msgstr "Categorias" +msgstr "" #: templates/InvenTree/settings/so.html:7 msgid "Sales Order Settings" -msgstr "Configurações do Pedido de Venda" +msgstr "" #: templates/InvenTree/settings/stock.html:7 msgid "Stock Settings" -msgstr "Configurações de Estoque" +msgstr "" #: templates/InvenTree/settings/stock.html:34 msgid "Stock Location Types" -msgstr "Tipos de Locais de estoque" +msgstr "" #: templates/InvenTree/settings/user.html:13 msgid "Account Settings" -msgstr "Configurações de Conta" +msgstr "" #: templates/InvenTree/settings/user.html:19 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" -msgstr "Alterar Senha" +msgstr "" #: templates/InvenTree/settings/user.html:33 msgid "Username" -msgstr "Nome de usuário" +msgstr "" #: templates/InvenTree/settings/user.html:37 msgid "First Name" -msgstr "Primeiro Nome" +msgstr "" #: templates/InvenTree/settings/user.html:41 msgid "Last Name" -msgstr "Sobrenome" +msgstr "" #: templates/InvenTree/settings/user.html:55 msgid "The following email addresses are associated with your account:" -msgstr "Os seguintes endereços de e-mail estão associados à sua conta:" +msgstr "" #: templates/InvenTree/settings/user.html:76 msgid "Verified" -msgstr "Verificado" +msgstr "" #: templates/InvenTree/settings/user.html:78 msgid "Unverified" -msgstr "Não verificado" +msgstr "" #: templates/InvenTree/settings/user.html:80 #: templates/js/translated/company.js:957 msgid "Primary" -msgstr "Principal" +msgstr "" #: templates/InvenTree/settings/user.html:86 msgid "Make Primary" -msgstr "Tornar principal" +msgstr "" #: templates/InvenTree/settings/user.html:87 msgid "Re-send Verification" -msgstr "Reenviar verificação" +msgstr "" #: templates/InvenTree/settings/user.html:96 msgid "Warning:" -msgstr "Atenção:" +msgstr "" #: templates/InvenTree/settings/user.html:97 msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." -msgstr "Atualmente, você não tem nenhum endereço de e-mail configurado. Você deveria realmente adicionar um endereço de e-mail para receber notificações, redefinir sua senha, etc." +msgstr "" #: templates/InvenTree/settings/user.html:105 msgid "Add Email Address" -msgstr "Adicionar endereço de E-mail" +msgstr "" #: templates/InvenTree/settings/user.html:110 msgid "Add Email" -msgstr "Adicionar e-mail" +msgstr "" #: templates/InvenTree/settings/user.html:120 msgid "Multifactor" -msgstr "Multifator" +msgstr "" #: templates/InvenTree/settings/user.html:125 msgid "You have these factors available:" -msgstr "Você tem estes fatores disponíveis:" +msgstr "" #: templates/InvenTree/settings/user.html:135 msgid "TOTP" @@ -10555,393 +10583,393 @@ msgstr "" #: templates/InvenTree/settings/user.html:141 msgid "Static" -msgstr "Estático" +msgstr "" #: templates/InvenTree/settings/user.html:150 msgid "Multifactor authentication is not configured for your account" -msgstr "A autenticação de múltiplos fatores não está configurada para sua conta" +msgstr "" #: templates/InvenTree/settings/user.html:157 msgid "Change factors" -msgstr "Alterar fatores" +msgstr "" #: templates/InvenTree/settings/user.html:158 msgid "Setup multifactor" -msgstr "Configurar multifator" +msgstr "" #: templates/InvenTree/settings/user.html:160 msgid "Remove multifactor" -msgstr "Remover multifator" +msgstr "" #: templates/InvenTree/settings/user.html:171 msgid "Active Sessions" -msgstr "Sessões Ativas" +msgstr "" #: templates/InvenTree/settings/user.html:177 msgid "Log out active sessions (except this one)" -msgstr "Encerrar sessões ativas (exceto esta)" +msgstr "" #: templates/InvenTree/settings/user.html:178 msgid "Log Out Active Sessions" -msgstr "Encerrar Sessões Ativas" +msgstr "" #: templates/InvenTree/settings/user.html:187 msgid "unknown on unknown" -msgstr "desconhecido em desconhecido" +msgstr "" #: templates/InvenTree/settings/user.html:188 msgid "unknown" -msgstr "desconhecido" +msgstr "" #: templates/InvenTree/settings/user.html:192 msgid "IP Address" -msgstr "Endereço IP" +msgstr "" #: templates/InvenTree/settings/user.html:193 msgid "Device" -msgstr "Dispositivo" +msgstr "" #: templates/InvenTree/settings/user.html:194 msgid "Last Activity" -msgstr "Última Atividade" +msgstr "" #: templates/InvenTree/settings/user.html:207 #, python-format msgid "%(time)s ago (this session)" -msgstr "%(time)s atrás (esta sessão)" +msgstr "" #: templates/InvenTree/settings/user.html:209 #, python-format msgid "%(time)s ago" -msgstr "%(time)s atrás" +msgstr "" #: templates/InvenTree/settings/user.html:223 msgid "Do you really want to remove the selected email address?" -msgstr "Você realmente deseja remover o endereço de e-mail selecionado?" +msgstr "" #: templates/InvenTree/settings/user_display.html:9 msgid "Display Settings" -msgstr "Definições de Exibição" +msgstr "" #: templates/InvenTree/settings/user_display.html:29 msgid "Theme Settings" -msgstr "Configurações de tema" +msgstr "" #: templates/InvenTree/settings/user_display.html:39 msgid "Select theme" -msgstr "Selecionar tema" +msgstr "" #: templates/InvenTree/settings/user_display.html:50 msgid "Set Theme" -msgstr "Definir Tema" +msgstr "" #: templates/InvenTree/settings/user_display.html:58 msgid "Language Settings" -msgstr "Configurações de idioma" +msgstr "" #: templates/InvenTree/settings/user_display.html:67 msgid "Select language" -msgstr "Selecionar idioma" +msgstr "" #: templates/InvenTree/settings/user_display.html:83 #, python-format msgid "%(lang_translated)s%% translated" -msgstr "%(lang_translated)s%% traduzido" +msgstr "" #: templates/InvenTree/settings/user_display.html:85 msgid "No translations available" -msgstr "Não há traduções disponíveis" +msgstr "" #: templates/InvenTree/settings/user_display.html:92 msgid "Set Language" -msgstr "Definir Idioma" +msgstr "" #: templates/InvenTree/settings/user_display.html:95 msgid "Some languages are not complete" -msgstr "Alguns idiomas não estão completos" +msgstr "" #: templates/InvenTree/settings/user_display.html:97 msgid "Show only sufficient" -msgstr "Mostrar apenas o suficiente" +msgstr "" #: templates/InvenTree/settings/user_display.html:99 msgid "and hidden." -msgstr "e oculto." +msgstr "" #: templates/InvenTree/settings/user_display.html:99 msgid "Show them too" -msgstr "Mostrar outros também" +msgstr "" #: templates/InvenTree/settings/user_display.html:106 msgid "Help the translation efforts!" -msgstr "Ajude os esforços de tradução!" +msgstr "" #: templates/InvenTree/settings/user_display.html:107 msgid "Native language translation of the web application is community contributed via crowdin. Contributions are welcomed and encouraged." -msgstr "A tradução nativa do aplicativo web é contribuição da comunidade pelo crowdin. Contribuições são encorajadas e bem vindas." +msgstr "" #: templates/InvenTree/settings/user_display.html:108 msgid "InvenTree Translation Project" -msgstr "Projeto de Tradução do InvenTree" +msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" -msgstr "Configuração da Página Inicial" +msgstr "" #: templates/InvenTree/settings/user_search.html:9 msgid "Search Settings" -msgstr "Configurações de Busca" +msgstr "" #: templates/InvenTree/settings/user_sso.html:9 msgid "Single Sign On Accounts" -msgstr "Contas de Login Único" +msgstr "" #: templates/InvenTree/settings/user_sso.html:16 msgid "You can sign in to your account using any of the following third party accounts:" -msgstr "Você pode entrar na sua conta usando qualquer uma das seguintes contas de terceiros:" +msgstr "" #: templates/InvenTree/settings/user_sso.html:52 msgid "There are no social network accounts connected to this account." -msgstr "Não há nenhuma rede social conectadas a essa conta." +msgstr "" #: templates/InvenTree/settings/user_sso.html:58 msgid "Add SSO Account" -msgstr "Adicionar conta SSO" +msgstr "" #: templates/InvenTree/settings/user_sso.html:67 msgid "Single Sign On is not enabled for this server" -msgstr "Acesso único não está habilitado para este servidor" +msgstr "" #: templates/about.html:9 msgid "InvenTree Version" -msgstr "Versão do InvenTree" +msgstr "" #: templates/about.html:14 msgid "Development Version" -msgstr "Versão de desenvolvimento" +msgstr "" #: templates/about.html:17 msgid "Up to Date" -msgstr "Atualizado" +msgstr "" #: templates/about.html:19 msgid "Update Available" -msgstr "Atualização disponível" +msgstr "" #: templates/about.html:43 msgid "Commit Branch" -msgstr "Ramo de commits" +msgstr "" #: templates/about.html:49 msgid "InvenTree Documentation" -msgstr "Documentação do InvenTree" +msgstr "" #: templates/about.html:54 msgid "API Version" -msgstr "Versão do API" +msgstr "" #: templates/about.html:59 msgid "Python Version" -msgstr "Versão do Python" +msgstr "" #: templates/about.html:64 msgid "Django Version" -msgstr "Versão Django" +msgstr "" #: templates/about.html:69 msgid "View Code on GitHub" -msgstr "Veja o código no GitHub" +msgstr "" #: templates/about.html:74 msgid "Credits" -msgstr "Créditos" +msgstr "" #: templates/about.html:79 msgid "Mobile App" -msgstr "Aplicativo Móvel" +msgstr "" #: templates/about.html:84 msgid "Submit Bug Report" -msgstr "Enviar relatório de erro" +msgstr "" #: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:589 msgid "copy to clipboard" -msgstr "copiar para área de transferência" +msgstr "" #: templates/about.html:91 msgid "copy version information" -msgstr "copiar informações da versão" +msgstr "" #: templates/account/base.html:66 templates/navbar.html:17 msgid "InvenTree logo" -msgstr "Logotipo InvenTree" +msgstr "" #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:9 msgid "Confirm Email Address" -msgstr "Confirmar endereço de e-mail" +msgstr "" #: templates/account/email_confirm.html:15 #, python-format msgid "Please confirm that %(email)s is an email address for user %(user_display)s." -msgstr "Por favor, confirme que %(email)s é um endereço de e-mail para o usuário %(user_display)s." +msgstr "" #: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" -msgstr "Confirmar" +msgstr "" #: templates/account/email_confirm.html:29 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." -msgstr "Este link de confirmação expirou ou é inválido. Por favor, envie uma nova solicitação de confirmação de e-mail." +msgstr "" #: templates/account/login.html:6 templates/account/login.html:19 #: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" -msgstr "Acessar" +msgstr "" #: templates/account/login.html:23 msgid "Not a member?" -msgstr "Não é membro?" +msgstr "" #: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" -msgstr "Cadastre-se" +msgstr "" #: templates/account/login.html:47 msgid "Forgot Password?" -msgstr "Esqueceu a senha?" +msgstr "" #: templates/account/login.html:55 msgid "or log in with" -msgstr "ou acesse com" +msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 #: templates/account/logout.html:20 msgid "Sign Out" -msgstr "Sair" +msgstr "" #: templates/account/logout.html:10 msgid "Are you sure you want to sign out?" -msgstr "Você tem certeza que deseja sair?" +msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 #: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" -msgstr "Retornar ao site" +msgstr "" #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" -msgstr "Redefinir senha" +msgstr "" #: templates/account/password_reset.html:18 msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." -msgstr "Esqueceu sua senha? Digite seu endereço de e-mail abaixo e enviaremos um e-mail para você redefinir sua senha." +msgstr "" #: templates/account/password_reset.html:23 msgid "Reset My Password" -msgstr "Redefinir Minha Senha" +msgstr "" #: templates/account/password_reset.html:27 templates/account/signup.html:37 msgid "This function is currently disabled. Please contact an administrator." -msgstr "Esta função está desativada. Por favor, contate um administrador." +msgstr "" #: templates/account/password_reset_from_key.html:7 msgid "Bad Token" -msgstr "Token Inválido" +msgstr "" #: templates/account/password_reset_from_key.html:11 #, python-format msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "O link de redefinição de senha era inválido, possivelmente porque já foi usado. Solicite um nova redefinição de senha." +msgstr "" #: templates/account/password_reset_from_key.html:18 msgid "Change password" -msgstr "Alterar senha" +msgstr "" #: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." -msgstr "Sua senha foi alterada." +msgstr "" #: templates/account/signup.html:13 #, python-format msgid "Already have an account? Then please sign in." -msgstr "Já tem uma conta? Então, por favor Entrar." +msgstr "" #: templates/account/signup.html:28 msgid "Use a SSO-provider for signup" -msgstr "Use um provedor SSO para inscrição" +msgstr "" #: templates/account/signup_closed.html:5 #: templates/account/signup_closed.html:8 msgid "Sign Up Closed" -msgstr "Registro fechado" +msgstr "" #: templates/account/signup_closed.html:10 msgid "Sign up is currently closed." -msgstr "Registro está atualmente fechado." +msgstr "" #: templates/account/signup_closed.html:15 #: templates/socialaccount/authentication_error.html:19 #: templates/socialaccount/login.html:38 templates/socialaccount/signup.html:30 msgid "Return to login page" -msgstr "Voltar a página de acesso" +msgstr "" #: templates/admin_button.html:8 msgid "View in administration panel" -msgstr "Ver no Painel de Administração" +msgstr "" #: templates/allauth_2fa/authenticate.html:5 msgid "Two-Factor Authentication" -msgstr "Autenticação de dois fatores" +msgstr "" #: templates/allauth_2fa/authenticate.html:13 msgid "Authenticate" -msgstr "Autenticar" +msgstr "" #: templates/allauth_2fa/backup_tokens.html:6 msgid "Two-Factor Authentication Backup Tokens" -msgstr "Backup de Tokens de Autenticação Dois-Fatores" +msgstr "" #: templates/allauth_2fa/backup_tokens.html:17 msgid "Backup tokens have been generated, but are not revealed here for security reasons. Press the button below to generate new ones." -msgstr "Os tokens de backup foram gerados, mas não são revelados aqui por razões de segurança. Pressione o botão abaixo para gerar novos." +msgstr "" #: templates/allauth_2fa/backup_tokens.html:20 msgid "No backup tokens are available. Press the button below to generate some." -msgstr "Nenhum token de backup está disponível. Pressione o botão abaixo para gerar alguns." +msgstr "" #: templates/allauth_2fa/backup_tokens.html:28 msgid "Generate Tokens" -msgstr "Gerar Tokens" +msgstr "" #: templates/allauth_2fa/remove.html:6 msgid "Disable Two-Factor Authentication" -msgstr "Desativar Autenticação de Dois Fatores" +msgstr "" #: templates/allauth_2fa/remove.html:9 msgid "Are you sure?" -msgstr "Você tem certeza?" +msgstr "" #: templates/allauth_2fa/remove.html:17 msgid "Disable 2FA" -msgstr "Desativar A2F" +msgstr "" #: templates/allauth_2fa/setup.html:6 msgid "Setup Two-Factor Authentication" -msgstr "Configurar Autenticação de Dois Fatores" +msgstr "" #: templates/allauth_2fa/setup.html:10 msgid "Step 1" -msgstr "Passo 1" +msgstr "" #: templates/allauth_2fa/setup.html:14 msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." -msgstr "Escaneie o código QR abaixo com um gerador de token de sua escolha (por exemplo, Google Authenticator)." +msgstr "" #: templates/allauth_2fa/setup.html:20 msgid "Secret: " @@ -10949,47 +10977,47 @@ msgstr "" #: templates/allauth_2fa/setup.html:24 msgid "Step 2" -msgstr "Passo 2" +msgstr "" #: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" -msgstr "Insira um token gerado pelo aplicativo:" +msgstr "" #: templates/allauth_2fa/setup.html:38 msgid "Verify" -msgstr "Verificar" +msgstr "" #: templates/attachment_button.html:4 templates/js/translated/attachment.js:70 msgid "Add Link" -msgstr "Adicionar Link" +msgstr "" #: templates/attachment_button.html:7 templates/js/translated/attachment.js:48 msgid "Add Attachment" -msgstr "Adicionar anexo" +msgstr "" #: templates/barcode_data.html:5 msgid "Barcode Identifier" -msgstr "Identificador de Código de Barras" +msgstr "" #: templates/base.html:103 msgid "Server Restart Required" -msgstr "Reinicialização do Servidor é Necessária" +msgstr "" #: templates/base.html:106 msgid "A configuration option has been changed which requires a server restart" -msgstr "Uma opção de configuração foi alterada, o que requer uma reinicialização do servidor" +msgstr "" #: templates/base.html:106 templates/base.html:116 msgid "Contact your system administrator for further information" -msgstr "Contate seu administrador de sistema para mais informações" +msgstr "" #: templates/base.html:113 msgid "Pending Database Migrations" -msgstr "Migrações de Banco de Dados Pendentes" +msgstr "" #: templates/base.html:116 msgid "There are pending database migrations which require attention" -msgstr "Existem migrações pendentes do banco de dados que requerem atenção" +msgstr "" #: templates/email/build_order_completed.html:9 #: templates/email/canceled_order_assigned.html:9 @@ -11000,274 +11028,274 @@ msgstr "Existem migrações pendentes do banco de dados que requerem atenção" #: templates/email/purchase_order_received.html:9 #: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" -msgstr "Clique no link abaixo para ver este pedido" +msgstr "" #: templates/email/build_order_required_stock.html:7 msgid "Stock is required for the following build order" -msgstr "Estoque é necessário para o pedido de produção a seguir" +msgstr "" #: templates/email/build_order_required_stock.html:8 #, python-format msgid "Build order %(build)s - building %(quantity)s x %(part)s" -msgstr "O pedido de Produção %(build)s - construindo %(quantity)s x %(part)s" +msgstr "" #: templates/email/build_order_required_stock.html:10 msgid "Click on the following link to view this build order" -msgstr "Clique no link abaixo para ver este pedido de produção" +msgstr "" #: templates/email/build_order_required_stock.html:14 msgid "The following parts are low on required stock" -msgstr "As peças a seguir estão abaixo do estoque requerido" +msgstr "" #: templates/email/build_order_required_stock.html:18 #: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 msgid "Required Quantity" -msgstr "Quantidade Requerida" +msgstr "" #: templates/email/build_order_required_stock.html:38 #: templates/email/low_stock_notification.html:30 msgid "You are receiving this email because you are subscribed to notifications for this part " -msgstr "Você está recebendo este e-mail porque está inscrito para notificações dessa peça " +msgstr "" #: templates/email/low_stock_notification.html:9 msgid "Click on the following link to view this part" -msgstr "Clique no link abaixo para ver esta peça" +msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/part.js:3219 msgid "Minimum Quantity" -msgstr "Quantidade Mínima" +msgstr "" #: templates/js/translated/api.js:225 templates/js/translated/modals.js:1130 msgid "No Response" -msgstr "Sem Resposta" +msgstr "" #: templates/js/translated/api.js:226 templates/js/translated/modals.js:1131 msgid "No response from the InvenTree server" -msgstr "Sem resposta do servidor InvenTree" +msgstr "" #: templates/js/translated/api.js:232 msgid "Error 400: Bad request" -msgstr "Erro 400: Requisição ruim" +msgstr "" #: templates/js/translated/api.js:233 msgid "API request returned error code 400" -msgstr "Solicitação de API retornou o código de erro 400" +msgstr "" #: templates/js/translated/api.js:237 templates/js/translated/modals.js:1140 msgid "Error 401: Not Authenticated" -msgstr "Erro 401: Não Autenticado" +msgstr "" #: templates/js/translated/api.js:238 templates/js/translated/modals.js:1141 msgid "Authentication credentials not supplied" -msgstr "Credenciais de autenticação não fornecidas" +msgstr "" #: templates/js/translated/api.js:242 templates/js/translated/modals.js:1145 msgid "Error 403: Permission Denied" -msgstr "Erro 403: Permissão Negada" +msgstr "" #: templates/js/translated/api.js:243 templates/js/translated/modals.js:1146 msgid "You do not have the required permissions to access this function" -msgstr "Você não tem as permissões necessárias para acessar esta função" +msgstr "" #: templates/js/translated/api.js:247 templates/js/translated/modals.js:1150 msgid "Error 404: Resource Not Found" -msgstr "Erro 404: Recurso Não Encontrado" +msgstr "" #: templates/js/translated/api.js:248 templates/js/translated/modals.js:1151 msgid "The requested resource could not be located on the server" -msgstr "O recurso requisitado não pôde ser encontrado no servidor" +msgstr "" #: templates/js/translated/api.js:252 msgid "Error 405: Method Not Allowed" -msgstr "Erro 405: Método Não Permitido" +msgstr "" #: templates/js/translated/api.js:253 msgid "HTTP method not allowed at URL" -msgstr "Método HTTP não permitido na URL" +msgstr "" #: templates/js/translated/api.js:257 templates/js/translated/modals.js:1155 msgid "Error 408: Timeout" -msgstr "Erro 408: Tempo Limite" +msgstr "" #: templates/js/translated/api.js:258 templates/js/translated/modals.js:1156 msgid "Connection timeout while requesting data from server" -msgstr "Tempo limite da conexão atingido ao solicitar dados do servidor" +msgstr "" #: templates/js/translated/api.js:261 msgid "Error 503: Service Unavailable" -msgstr "Erro 503: Serviço Indisponível" +msgstr "" #: templates/js/translated/api.js:262 msgid "The server is currently unavailable" -msgstr "O servidor está atualmente indisponível" +msgstr "" #: templates/js/translated/api.js:265 msgid "Unhandled Error Code" -msgstr "Código de erro não tratado" +msgstr "" #: templates/js/translated/api.js:266 msgid "Error code" -msgstr "Código do erro" +msgstr "" #: templates/js/translated/attachment.js:114 msgid "All selected attachments will be deleted" -msgstr "Todos os anexos selecionados serão excluídos" +msgstr "" #: templates/js/translated/attachment.js:129 msgid "Delete Attachments" -msgstr "Excluir Anexos" +msgstr "" #: templates/js/translated/attachment.js:205 msgid "Delete attachments" -msgstr "Excluir anexos" +msgstr "" #: templates/js/translated/attachment.js:260 msgid "Attachment actions" -msgstr "Ações de anexos" +msgstr "" #: templates/js/translated/attachment.js:294 msgid "No attachments found" -msgstr "Nenhum anexo encontrado" +msgstr "" #: templates/js/translated/attachment.js:334 msgid "Edit Attachment" -msgstr "Editar Anexo" +msgstr "" #: templates/js/translated/attachment.js:365 msgid "Upload Date" -msgstr "Data de Envio" +msgstr "" #: templates/js/translated/attachment.js:385 msgid "Edit attachment" -msgstr "Editar anexo" +msgstr "" #: templates/js/translated/attachment.js:393 msgid "Delete attachment" -msgstr "Apagar anexo" +msgstr "" #: templates/js/translated/barcode.js:43 msgid "Scan barcode data here using barcode scanner" -msgstr "Leia o código de barras aqui usando um leitor de código de barras" +msgstr "" #: templates/js/translated/barcode.js:45 msgid "Enter barcode data" -msgstr "Digitar informações do código de barras" +msgstr "" #: templates/js/translated/barcode.js:59 msgid "Scan barcode using connected webcam" -msgstr "Ler código de barras usando webcam conectada" +msgstr "" #: templates/js/translated/barcode.js:138 msgid "Enter optional notes for stock transfer" -msgstr "Digite notas opcionais para transferência de estoque" +msgstr "" #: templates/js/translated/barcode.js:139 msgid "Enter notes" -msgstr "Inserir anotações" +msgstr "" #: templates/js/translated/barcode.js:188 msgid "Server error" -msgstr "Erro no servidor" +msgstr "" #: templates/js/translated/barcode.js:217 msgid "Unknown response from server" -msgstr "Resposta desconhecida do servidor" +msgstr "" #: templates/js/translated/barcode.js:252 #: templates/js/translated/modals.js:1120 msgid "Invalid server response" -msgstr "Resposta do servidor inválida" +msgstr "" #: templates/js/translated/barcode.js:372 msgid "Scan barcode data" -msgstr "Ler dados do código de barras" +msgstr "" #: templates/js/translated/barcode.js:420 templates/navbar.html:114 msgid "Scan Barcode" -msgstr "Ler Código de Barras" +msgstr "" #: templates/js/translated/barcode.js:458 msgid "No URL in response" -msgstr "Nenhuma URL na resposta" +msgstr "" #: templates/js/translated/barcode.js:498 msgid "This will remove the link to the associated barcode" -msgstr "Isto irá remover o link com o código de barras associado" +msgstr "" #: templates/js/translated/barcode.js:504 msgid "Unlink" -msgstr "Desassociar" +msgstr "" #: templates/js/translated/barcode.js:567 templates/js/translated/stock.js:1158 msgid "Remove stock item" -msgstr "Remover item de estoque" +msgstr "" #: templates/js/translated/barcode.js:610 msgid "Scan Stock Items Into Location" -msgstr "Escanear Itens de Estoque para Local" +msgstr "" #: templates/js/translated/barcode.js:612 msgid "Scan stock item barcode to check in to this location" -msgstr "Digitalize o código de barras dos itens de estoque para fazer check-in nesta localização" +msgstr "" #: templates/js/translated/barcode.js:615 #: templates/js/translated/barcode.js:812 msgid "Check In" -msgstr "Check-in" +msgstr "" #: templates/js/translated/barcode.js:647 msgid "No barcode provided" -msgstr "Nenhum código de barras fornecido" +msgstr "" #: templates/js/translated/barcode.js:687 msgid "Stock Item already scanned" -msgstr "Item de estoque já escaneado" +msgstr "" #: templates/js/translated/barcode.js:691 msgid "Stock Item already in this location" -msgstr "Item de estoque já está nesta localização" +msgstr "" #: templates/js/translated/barcode.js:698 msgid "Added stock item" -msgstr "Item de estoque adicionado" +msgstr "" #: templates/js/translated/barcode.js:707 msgid "Barcode does not match valid stock item" -msgstr "Código de barras não corresponde a item de estoque válido" +msgstr "" #: templates/js/translated/barcode.js:726 msgid "Scan Stock Container Into Location" -msgstr "Escanear o Recipiente de Estoque em Local" +msgstr "" #: templates/js/translated/barcode.js:728 msgid "Scan stock container barcode to check in to this location" -msgstr "Digitalize o código de barras do contêiner para fazer check-in para esta localização" +msgstr "" #: templates/js/translated/barcode.js:762 msgid "Barcode does not match valid stock location" -msgstr "Código de barras não corresponde ao local de estoque válido" +msgstr "" #: templates/js/translated/barcode.js:806 msgid "Check Into Location" -msgstr "Registrar no Local" +msgstr "" #: templates/js/translated/barcode.js:875 #: templates/js/translated/barcode.js:884 msgid "Barcode does not match a valid location" -msgstr "Código de barras não corresponde a um local válido" +msgstr "" #: templates/js/translated/bom.js:78 msgid "Create BOM Item" -msgstr "Criar Item da BOM" +msgstr "" #: templates/js/translated/bom.js:132 msgid "Display row data" -msgstr "Mostrar dados da linha" +msgstr "" #: templates/js/translated/bom.js:188 msgid "Row Data" -msgstr "Dados da Linha" +msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 @@ -11275,139 +11303,139 @@ msgstr "Dados da Linha" #: templates/js/translated/purchase_order.js:797 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" -msgstr "Fechar" +msgstr "" #: templates/js/translated/bom.js:306 msgid "Download BOM Template" -msgstr "Baixar modelo de BOM" +msgstr "" #: templates/js/translated/bom.js:351 msgid "Multi Level BOM" -msgstr "BOM Multinível" +msgstr "" #: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" -msgstr "Incluir dados BOM para sub-montagens" +msgstr "" #: templates/js/translated/bom.js:357 msgid "Levels" -msgstr "Níveis" +msgstr "" #: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" -msgstr "Selecione o número máximo de níveis BOM para exportar (0= todos os níveis)" +msgstr "" #: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" -msgstr "Incluir Peças Alternativas" +msgstr "" #: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" -msgstr "Incluir peças alternativas na BOM exportada" +msgstr "" #: templates/js/translated/bom.js:371 msgid "Include Parameter Data" -msgstr "Incluir Parâmetros de Dados" +msgstr "" #: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" -msgstr "Incluir dados do parâmetro da peça na BOM exportada" +msgstr "" #: templates/js/translated/bom.js:377 msgid "Include Stock Data" -msgstr "Incluir Dados do Estoque" +msgstr "" #: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" -msgstr "Incluir dados do estoque da peça na BOM exportada" +msgstr "" #: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" -msgstr "Incluir Dados do Fabricante" +msgstr "" #: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" -msgstr "Incluir dados da peça do fabricante na BOM exportada" +msgstr "" #: templates/js/translated/bom.js:389 msgid "Include Supplier Data" -msgstr "Incluir Dodos do Fornecedor" +msgstr "" #: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" -msgstr "Incluir dados da peça do fornecedor na BOM exportada" +msgstr "" #: templates/js/translated/bom.js:395 msgid "Include Pricing Data" -msgstr "Incluir Dados de Preço" +msgstr "" #: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" -msgstr "Incluir dados de preço na BOM exportada" +msgstr "" #: templates/js/translated/bom.js:591 msgid "Remove substitute part" -msgstr "Remover peça substituta" +msgstr "" #: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" -msgstr "Selecione e adicione uma nova peça substituída usando a entrada abaixo" +msgstr "" #: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" -msgstr "Tem certeza que deseja remover este link de peça substituta?" +msgstr "" #: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" -msgstr "Remover Peça Substituta" +msgstr "" #: templates/js/translated/bom.js:701 msgid "Add Substitute" -msgstr "Adicionar Substituto" +msgstr "" #: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" -msgstr "Editar Itens Substitutos da BOM" +msgstr "" #: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" -msgstr "Todos os itens selecionados da BOM serão apagados" +msgstr "" #: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" -msgstr "Apagar itens selecionados da BOM?" +msgstr "" #: templates/js/translated/bom.js:826 msgid "Delete items" -msgstr "Apagar items" +msgstr "" #: templates/js/translated/bom.js:936 msgid "Load BOM for subassembly" -msgstr "Carregar BOM para a submontagem" +msgstr "" #: templates/js/translated/bom.js:946 msgid "Substitutes Available" -msgstr "Substitutos Disponíveis" +msgstr "" #: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 msgid "Variant stock allowed" -msgstr "Estoque de variantes permitido" +msgstr "" #: templates/js/translated/bom.js:1014 msgid "Substitutes" -msgstr "Substitutos" +msgstr "" #: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" -msgstr "Preços da BOM estão completos" +msgstr "" #: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" -msgstr "Preços da BOM estão incompletos" +msgstr "" #: templates/js/translated/bom.js:1151 msgid "No pricing available" -msgstr "Nenhum preço disponível" +msgstr "" #: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 msgid "External stock" @@ -11416,404 +11444,404 @@ msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" -msgstr "Nenhum Estoque Disponível" +msgstr "" #: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 msgid "Includes variant and substitute stock" -msgstr "Incluir estoque de variantes e substitutos" +msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1257 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" -msgstr "Incluir estoque de variantes" +msgstr "" #: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 msgid "Includes substitute stock" -msgstr "Incluir estoque de substitutos" +msgstr "" #: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 msgid "Consumable item" -msgstr "Itens consumíveis" +msgstr "" #: templates/js/translated/bom.js:1285 msgid "Validate BOM Item" -msgstr "Validar Item da BOM" +msgstr "" #: templates/js/translated/bom.js:1287 msgid "This line has been validated" -msgstr "Esta linha foi validada" +msgstr "" #: templates/js/translated/bom.js:1289 msgid "Edit substitute parts" -msgstr "Editar peças substitutas" +msgstr "" #: templates/js/translated/bom.js:1291 templates/js/translated/bom.js:1486 msgid "Edit BOM Item" -msgstr "Editar Item da BOM" +msgstr "" #: templates/js/translated/bom.js:1293 msgid "Delete BOM Item" -msgstr "Apagar Item da BOM" +msgstr "" #: templates/js/translated/bom.js:1313 msgid "View BOM" -msgstr "Ver BOM" +msgstr "" #: templates/js/translated/bom.js:1397 msgid "No BOM items found" -msgstr "Nenhum item da BOM encontrado" +msgstr "" #: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 msgid "Required Part" -msgstr "Peça Requerida" +msgstr "" #: templates/js/translated/bom.js:1683 msgid "Inherited from parent BOM" -msgstr "Herdado da BOM paternal" +msgstr "" #: templates/js/translated/build.js:142 msgid "Edit Build Order" -msgstr "Editar Pedido de Produção" +msgstr "" #: templates/js/translated/build.js:190 msgid "Create Build Order" -msgstr "Criar Pedido de Produção" +msgstr "" #: templates/js/translated/build.js:222 msgid "Cancel Build Order" -msgstr "Cancelar Pedido de Produção" +msgstr "" #: templates/js/translated/build.js:231 msgid "Are you sure you wish to cancel this build?" -msgstr "Tem certeza que deseja cancelar essa produção?" +msgstr "" #: templates/js/translated/build.js:237 msgid "Stock items have been allocated to this build order" -msgstr "Itens de estoque foram alocados para este pedido de produção" +msgstr "" #: templates/js/translated/build.js:244 msgid "There are incomplete outputs remaining for this build order" -msgstr "Há saídas incompletas restantes para este pedido de produção" +msgstr "" #: templates/js/translated/build.js:296 msgid "Build order is ready to be completed" -msgstr "Pedido de produção está pronto para ser concluído" +msgstr "" #: templates/js/translated/build.js:304 msgid "This build order cannot be completed as there are incomplete outputs" -msgstr "Este pedido de produção não pode ser concluído pois há saídas incompletas" +msgstr "" #: templates/js/translated/build.js:309 msgid "Build Order is incomplete" -msgstr "Pedido de Produção está incompleto" +msgstr "" #: templates/js/translated/build.js:327 msgid "Complete Build Order" -msgstr "Completar Pedido de Produção" +msgstr "" #: templates/js/translated/build.js:368 templates/js/translated/stock.js:119 #: templates/js/translated/stock.js:294 msgid "Next available serial number" -msgstr "Próximo número de série disponível" +msgstr "" #: templates/js/translated/build.js:370 templates/js/translated/stock.js:121 #: templates/js/translated/stock.js:296 msgid "Latest serial number" -msgstr "Último número de série" +msgstr "" #: templates/js/translated/build.js:379 msgid "The Bill of Materials contains trackable parts" -msgstr "A Lista de Materiais (BOM) contém peças rastreáveis" +msgstr "" #: templates/js/translated/build.js:380 msgid "Build outputs must be generated individually" -msgstr "Saída de produção deve ser gerada individualmente" +msgstr "" #: templates/js/translated/build.js:388 msgid "Trackable parts can have serial numbers specified" -msgstr "Peças rastreáveis podem ter números de séries especificados" +msgstr "" #: templates/js/translated/build.js:389 msgid "Enter serial numbers to generate multiple single build outputs" -msgstr "Digite números de série para gerar várias saídas de produção simples" +msgstr "" #: templates/js/translated/build.js:396 msgid "Create Build Output" -msgstr "Criar Saída de Produção" +msgstr "" #: templates/js/translated/build.js:427 msgid "Allocate stock items to this build output" -msgstr "Alocar itens de estoque para a saída de produção" +msgstr "" #: templates/js/translated/build.js:435 msgid "Deallocate stock from build output" -msgstr "Desalocar estoque da saída de produção" +msgstr "" #: templates/js/translated/build.js:444 msgid "Complete build output" -msgstr "Concluir saída de produção" +msgstr "" #: templates/js/translated/build.js:452 msgid "Scrap build output" -msgstr "Sucatear saída de produção" +msgstr "" #: templates/js/translated/build.js:459 msgid "Delete build output" -msgstr "Excluir saída de produção" +msgstr "" #: templates/js/translated/build.js:479 msgid "Are you sure you wish to deallocate the selected stock items from this build?" -msgstr "Tem certeza que deseja desalocar os itens de estoque selecionados desta produção?" +msgstr "" #: templates/js/translated/build.js:497 msgid "Deallocate Stock Items" -msgstr "Desalocar Items de Estoque" +msgstr "" #: templates/js/translated/build.js:583 templates/js/translated/build.js:711 #: templates/js/translated/build.js:837 msgid "Select Build Outputs" -msgstr "Selecionar Saída de Produção" +msgstr "" #: templates/js/translated/build.js:584 templates/js/translated/build.js:712 #: templates/js/translated/build.js:838 msgid "At least one build output must be selected" -msgstr "Ao menos uma saída de produção deve ser selecionada" +msgstr "" #: templates/js/translated/build.js:598 msgid "Selected build outputs will be marked as complete" -msgstr "Saídas de produção selecionadas serão marcadas como completas" +msgstr "" #: templates/js/translated/build.js:602 templates/js/translated/build.js:736 #: templates/js/translated/build.js:860 msgid "Output" -msgstr "Saída" +msgstr "" #: templates/js/translated/build.js:630 msgid "Complete Build Outputs" -msgstr "Concluir Saídas de Produção" +msgstr "" #: templates/js/translated/build.js:727 msgid "Selected build outputs will be marked as scrapped" -msgstr "Saídas de produção selecionadas serão marcadas como sucatas" +msgstr "" #: templates/js/translated/build.js:729 msgid "Scrapped output are marked as rejected" -msgstr "Saídas sucateadas são marcadas como rejeitada" +msgstr "" #: templates/js/translated/build.js:730 msgid "Allocated stock items will no longer be available" -msgstr "Itens de estoque alocados não estarão mais disponíveis" +msgstr "" #: templates/js/translated/build.js:731 msgid "The completion status of the build order will not be adjusted" -msgstr "O estado de conclusão do pedido de produção não será ajustado" +msgstr "" #: templates/js/translated/build.js:762 msgid "Scrap Build Outputs" -msgstr "Sucatear Saídas de Produção" +msgstr "" #: templates/js/translated/build.js:852 msgid "Selected build outputs will be deleted" -msgstr "Saídas de produção selecionadas serão apagadas" +msgstr "" #: templates/js/translated/build.js:854 msgid "Build output data will be permanently deleted" -msgstr "Dados da saída de produção serão excluídos permanentemente" +msgstr "" #: templates/js/translated/build.js:855 msgid "Allocated stock items will be returned to stock" -msgstr "Itens de estoque alocados serão retornados ao estoque" +msgstr "" #: templates/js/translated/build.js:873 msgid "Delete Build Outputs" -msgstr "Deletar Saída de Produção" +msgstr "" #: templates/js/translated/build.js:960 msgid "No build order allocations found" -msgstr "Nenhuma alocação de pedido de produção encontrada" +msgstr "" #: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 msgid "Allocated Quantity" -msgstr "Quantidade Alocada" +msgstr "" #: templates/js/translated/build.js:1005 msgid "Location not specified" -msgstr "Local não especificado" +msgstr "" #: templates/js/translated/build.js:1027 msgid "Complete outputs" -msgstr "Saídas concluídas" +msgstr "" #: templates/js/translated/build.js:1045 msgid "Scrap outputs" -msgstr "Sucatear saídas" +msgstr "" #: templates/js/translated/build.js:1063 msgid "Delete outputs" -msgstr "Exlcuir saídas" +msgstr "" #: templates/js/translated/build.js:1116 msgid "build output" -msgstr "saída da produção" +msgstr "" #: templates/js/translated/build.js:1117 msgid "build outputs" -msgstr "saídas da produção" +msgstr "" #: templates/js/translated/build.js:1121 msgid "Build output actions" -msgstr "Ações da saída de produção" +msgstr "" #: templates/js/translated/build.js:1297 msgid "No active build outputs found" -msgstr "Nenhuma saída de produção ativa encontrada" +msgstr "" #: templates/js/translated/build.js:1390 msgid "Allocated Lines" -msgstr "Linhas Alocadas" +msgstr "" #: templates/js/translated/build.js:1404 msgid "Required Tests" -msgstr "Testes Obrigatórios" +msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" -msgstr "Selecionar Peças" +msgstr "" #: templates/js/translated/build.js:1577 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" -msgstr "Você deve selecionar ao menos uma peça para alocar" +msgstr "" #: templates/js/translated/build.js:1640 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" -msgstr "Especifique a quantidade de alocação de estoque" +msgstr "" #: templates/js/translated/build.js:1717 msgid "All Parts Allocated" -msgstr "Todas as Peças Alocadas" +msgstr "" #: templates/js/translated/build.js:1718 msgid "All selected parts have been fully allocated" -msgstr "Todas as peças selecionadas foram completamente alocadas" +msgstr "" #: templates/js/translated/build.js:1732 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" -msgstr "Selecione o local de origem (deixe em branco para tirar de todos os locais)" +msgstr "" #: templates/js/translated/build.js:1760 msgid "Allocate Stock Items to Build Order" -msgstr "Alocar Itens de Estoque para o Pedido de Produção" +msgstr "" #: templates/js/translated/build.js:1771 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" -msgstr "Nenhum local de estoque correspondente" +msgstr "" #: templates/js/translated/build.js:1844 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" -msgstr "Nenhum item de estoque correspondente" +msgstr "" #: templates/js/translated/build.js:1941 msgid "Automatic Stock Allocation" -msgstr "Alocação Automática de Estoque" +msgstr "" #: templates/js/translated/build.js:1942 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" -msgstr "Itens de estoque serão automaticamente alocados para este pedido de produção, conforme as diretrizes fornecidas" +msgstr "" #: templates/js/translated/build.js:1944 msgid "If a location is specified, stock will only be allocated from that location" -msgstr "Se um local for especificado o estoque será apenas alocado deste local" +msgstr "" #: templates/js/translated/build.js:1945 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" -msgstr "Se o estoque é considerado intercambiável será alocado a partir da primeira localização encontrada" +msgstr "" #: templates/js/translated/build.js:1946 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" -msgstr "Se estoque substituto é permitido será utilizado quando o estoque primário não for encontrado" +msgstr "" #: templates/js/translated/build.js:1977 msgid "Allocate Stock Items" -msgstr "Alocar Itens de Estoque" +msgstr "" #: templates/js/translated/build.js:2082 msgid "No builds matching query" -msgstr "Nenhuma produção corresponde a consulta" +msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" -msgstr "Selecionar" +msgstr "" #: templates/js/translated/build.js:2131 msgid "Build order is overdue" -msgstr "Pedido de produção está atrasada" +msgstr "" #: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" -msgstr "Sem informações de usuário" +msgstr "" #: templates/js/translated/build.js:2389 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" -msgstr "Editar alocação de estoque" +msgstr "" #: templates/js/translated/build.js:2390 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" -msgstr "Excluir alocação de estoque" +msgstr "" #: templates/js/translated/build.js:2405 msgid "Edit Allocation" -msgstr "Editar Alocação" +msgstr "" #: templates/js/translated/build.js:2417 msgid "Remove Allocation" -msgstr "Remover Alocação" +msgstr "" #: templates/js/translated/build.js:2455 msgid "build line" -msgstr "linha de produção" +msgstr "" #: templates/js/translated/build.js:2456 msgid "build lines" -msgstr "linhas de produção" +msgstr "" #: templates/js/translated/build.js:2474 msgid "No build lines found" -msgstr "Nenhuma linha produção encontrada" +msgstr "" #: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 #: templates/js/translated/part.js:1203 msgid "Trackable part" -msgstr "Peça rastreável" +msgstr "" #: templates/js/translated/build.js:2539 msgid "Unit Quantity" -msgstr "Quantidade Unitária" +msgstr "" #: templates/js/translated/build.js:2591 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" -msgstr "Estoque suficiente disponível" +msgstr "" #: templates/js/translated/build.js:2646 msgid "Consumable Item" -msgstr "Item Consumível" +msgstr "" #: templates/js/translated/build.js:2653 msgid "Tracked item" -msgstr "Item rastreado" +msgstr "" #: templates/js/translated/build.js:2654 msgid "Allocate tracked items against individual build outputs" @@ -11822,456 +11850,456 @@ msgstr "" #: templates/js/translated/build.js:2662 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" -msgstr "Estoque de produção" +msgstr "" #: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 msgid "Order stock" -msgstr "Pedir Estoque" +msgstr "" #: templates/js/translated/build.js:2671 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" -msgstr "Alocar Estoque" +msgstr "" #: templates/js/translated/build.js:2675 msgid "Remove stock allocation" -msgstr "Remover alocação de estoque" +msgstr "" #: templates/js/translated/company.js:98 msgid "Add Manufacturer" -msgstr "Adicionar Fabricante" +msgstr "" #: templates/js/translated/company.js:111 #: templates/js/translated/company.js:213 msgid "Add Manufacturer Part" -msgstr "Adicionar Peça do Fabricante" +msgstr "" #: templates/js/translated/company.js:132 msgid "Edit Manufacturer Part" -msgstr "Editar Peça do Fabricante" +msgstr "" #: templates/js/translated/company.js:201 #: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" -msgstr "Adicionar Fornecedor" +msgstr "" #: templates/js/translated/company.js:243 #: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" -msgstr "Adicionar Peça do Fornecedor" +msgstr "" #: templates/js/translated/company.js:344 msgid "All selected supplier parts will be deleted" -msgstr "Todas as peças selecionadas do fornecedor serão apagadas" +msgstr "" #: templates/js/translated/company.js:360 msgid "Delete Supplier Parts" -msgstr "Excluir Peças do Fornecedor" +msgstr "" #: templates/js/translated/company.js:466 msgid "Add new Company" -msgstr "Adicionar nova Empresa" +msgstr "" #: templates/js/translated/company.js:546 msgid "Parts Supplied" -msgstr "Peças Fornecidas" +msgstr "" #: templates/js/translated/company.js:555 msgid "Parts Manufactured" -msgstr "Peças Fabricadas" +msgstr "" #: templates/js/translated/company.js:570 msgid "No company information found" -msgstr "Nenhuma informação da empresa encontrada" +msgstr "" #: templates/js/translated/company.js:619 msgid "Create New Contact" -msgstr "Criar Novo Contato" +msgstr "" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:758 msgid "Edit Contact" -msgstr "Editar Contato" +msgstr "" #: templates/js/translated/company.js:672 msgid "All selected contacts will be deleted" -msgstr "Todos os contatos selecionados serão apagados" +msgstr "" #: templates/js/translated/company.js:678 #: templates/js/translated/company.js:742 msgid "Role" -msgstr "Função" +msgstr "" #: templates/js/translated/company.js:686 msgid "Delete Contacts" -msgstr "Excluir Contatos" +msgstr "" #: templates/js/translated/company.js:717 msgid "No contacts found" -msgstr "Nenhum contato encontrado" +msgstr "" #: templates/js/translated/company.js:730 msgid "Phone Number" -msgstr "Número de telefone" +msgstr "" #: templates/js/translated/company.js:736 msgid "Email Address" -msgstr "Endereço de e-mail" +msgstr "" #: templates/js/translated/company.js:762 msgid "Delete Contact" -msgstr "Excluir Contato" +msgstr "" #: templates/js/translated/company.js:859 msgid "Create New Address" -msgstr "Criar Novo Endereço" +msgstr "" #: templates/js/translated/company.js:874 #: templates/js/translated/company.js:1035 msgid "Edit Address" -msgstr "Editar o Endereço" +msgstr "" #: templates/js/translated/company.js:909 msgid "All selected addresses will be deleted" -msgstr "Todos os endereços selecionados serão excluídos" +msgstr "" #: templates/js/translated/company.js:923 msgid "Delete Addresses" -msgstr "Excluir Endereço" +msgstr "" #: templates/js/translated/company.js:950 msgid "No addresses found" -msgstr "Nenhum endereço encontrado" +msgstr "" #: templates/js/translated/company.js:989 msgid "Postal city" -msgstr "Cidade Postal" +msgstr "" #: templates/js/translated/company.js:995 msgid "State/province" -msgstr "Estado/Provincia" +msgstr "" #: templates/js/translated/company.js:1007 msgid "Courier notes" -msgstr "Notas do entregador" +msgstr "" #: templates/js/translated/company.js:1013 msgid "Internal notes" -msgstr "Notas internas" +msgstr "" #: templates/js/translated/company.js:1039 msgid "Delete Address" -msgstr "Excluir Endereço" +msgstr "" #: templates/js/translated/company.js:1112 msgid "All selected manufacturer parts will be deleted" -msgstr "Todas as peças do fabricante selecionado serão excluídas" +msgstr "" #: templates/js/translated/company.js:1127 msgid "Delete Manufacturer Parts" -msgstr "Excluir Peças do Fabricante" +msgstr "" #: templates/js/translated/company.js:1161 msgid "All selected parameters will be deleted" -msgstr "Todos os parâmetros selecionados serão excluídos" +msgstr "" #: templates/js/translated/company.js:1175 msgid "Delete Parameters" -msgstr "Excluir Parâmetros" +msgstr "" #: templates/js/translated/company.js:1191 #: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 msgid "Order parts" -msgstr "Pedir peças" +msgstr "" #: templates/js/translated/company.js:1208 msgid "Delete manufacturer parts" -msgstr "Apagar peças do fabricante" +msgstr "" #: templates/js/translated/company.js:1240 msgid "Manufacturer part actions" -msgstr "Ações de peça do fabricante" +msgstr "" #: templates/js/translated/company.js:1259 msgid "No manufacturer parts found" -msgstr "Nenhuma peça do fabricante encontrada" +msgstr "" #: templates/js/translated/company.js:1279 #: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 #: templates/js/translated/part.js:1211 msgid "Template part" -msgstr "Modelo de peça" +msgstr "" #: templates/js/translated/company.js:1283 #: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 #: templates/js/translated/part.js:1215 msgid "Assembled part" -msgstr "Peça montada" +msgstr "" #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 msgid "No parameters found" -msgstr "Nenhum parâmetro encontrado" +msgstr "" #: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 msgid "Edit parameter" -msgstr "Editar parâmetro" +msgstr "" #: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 msgid "Delete parameter" -msgstr "Excluir parâmetro" +msgstr "" #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 msgid "Edit Parameter" -msgstr "Editar Parâmetro" +msgstr "" #: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 msgid "Delete Parameter" -msgstr "Excluir Parâmetro" +msgstr "" #: templates/js/translated/company.js:1496 msgid "Delete supplier parts" -msgstr "Excluir peças do fornecedor" +msgstr "" #: templates/js/translated/company.js:1546 msgid "No supplier parts found" -msgstr "Nenhum peça do fornecedor encontrada" +msgstr "" #: templates/js/translated/company.js:1664 msgid "Base Units" -msgstr "Unidade Base" +msgstr "" #: templates/js/translated/company.js:1694 msgid "Availability" -msgstr "Disponibilidade" +msgstr "" #: templates/js/translated/company.js:1725 msgid "Edit supplier part" -msgstr "Editar fornecedor da peça" +msgstr "" #: templates/js/translated/company.js:1726 msgid "Delete supplier part" -msgstr "Excluir peça do fornecedor" +msgstr "" #: templates/js/translated/company.js:1779 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" -msgstr "Excluir quebras de preço" +msgstr "" #: templates/js/translated/company.js:1789 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" -msgstr "Editar Quebra de Preço" +msgstr "" #: templates/js/translated/company.js:1804 msgid "No price break information found" -msgstr "Nenhuma informação de quebra de preço" +msgstr "" #: templates/js/translated/company.js:1833 msgid "Last updated" -msgstr "Última atualização" +msgstr "" #: templates/js/translated/company.js:1840 msgid "Edit price break" -msgstr "Editar quebra de preço" +msgstr "" #: templates/js/translated/company.js:1841 msgid "Delete price break" -msgstr "Excluir quebra de preço" +msgstr "" #: templates/js/translated/filters.js:186 #: templates/js/translated/filters.js:667 msgid "true" -msgstr "verdadeiro" +msgstr "" #: templates/js/translated/filters.js:190 #: templates/js/translated/filters.js:668 msgid "false" -msgstr "falso" +msgstr "" #: templates/js/translated/filters.js:214 msgid "Select filter" -msgstr "Selecionar filtro" +msgstr "" #: templates/js/translated/filters.js:437 msgid "Print Labels" -msgstr "Imprimir Etiquetas" +msgstr "" #: templates/js/translated/filters.js:441 msgid "Print Reports" -msgstr "Imprimir Relatórios" +msgstr "" #: templates/js/translated/filters.js:453 msgid "Download table data" -msgstr "Baixar dados da tabela" +msgstr "" #: templates/js/translated/filters.js:460 msgid "Reload table data" -msgstr "Recarregar dados da tabela" +msgstr "" #: templates/js/translated/filters.js:469 msgid "Add new filter" -msgstr "Adicionar novo filtro" +msgstr "" #: templates/js/translated/filters.js:477 msgid "Clear all filters" -msgstr "Limpar todos os filtros" +msgstr "" #: templates/js/translated/filters.js:577 msgid "Create filter" -msgstr "Criar filtro" +msgstr "" #: templates/js/translated/forms.js:378 templates/js/translated/forms.js:393 #: templates/js/translated/forms.js:407 templates/js/translated/forms.js:421 msgid "Action Prohibited" -msgstr "Ação proibida" +msgstr "" #: templates/js/translated/forms.js:380 msgid "Create operation not allowed" -msgstr "Operação de criação não permitida" +msgstr "" #: templates/js/translated/forms.js:395 msgid "Update operation not allowed" -msgstr "Operação de atualização não permitida" +msgstr "" #: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" -msgstr "Operação de excluir não permitida" +msgstr "" #: templates/js/translated/forms.js:423 msgid "View operation not allowed" -msgstr "Operação de visualização não permitida" +msgstr "" #: templates/js/translated/forms.js:800 msgid "Keep this form open" -msgstr "Manter este formulário aberto" +msgstr "" #: templates/js/translated/forms.js:903 msgid "Enter a valid number" -msgstr "Insira um número válido" +msgstr "" #: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" -msgstr "Há erros de formulário" +msgstr "" #: templates/js/translated/forms.js:1975 msgid "No results found" -msgstr "Nenhum resultado encontrado" +msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" -msgstr "Buscando" +msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" -msgstr "Limpar entrada" +msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" -msgstr "Coluna de arquivos" +msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" -msgstr "Nome do Campo" +msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" -msgstr "Selecionar Colunas" +msgstr "" #: templates/js/translated/helpers.js:77 msgid "YES" -msgstr "SIM" +msgstr "" #: templates/js/translated/helpers.js:80 msgid "NO" -msgstr "NÃO" +msgstr "" #: templates/js/translated/helpers.js:93 msgid "True" -msgstr "Verdadeiro" +msgstr "" #: templates/js/translated/helpers.js:94 msgid "False" -msgstr "Falso" +msgstr "" #: templates/js/translated/index.js:104 msgid "No parts required for builds" -msgstr "Nenhuma parte necessária para produção" +msgstr "" #: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" -msgstr "Selecione os Itens" +msgstr "" #: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" -msgstr "Nenhum item selecionado para impressão" +msgstr "" #: templates/js/translated/label.js:150 msgid "Labels sent to printer" -msgstr "Etiquetas enviadas à impressora" +msgstr "" #: templates/js/translated/modals.js:58 templates/js/translated/modals.js:158 #: templates/js/translated/modals.js:683 msgid "Cancel" -msgstr "Cancelar" +msgstr "" #: templates/js/translated/modals.js:63 templates/js/translated/modals.js:157 #: templates/js/translated/modals.js:751 templates/js/translated/modals.js:1059 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" -msgstr "Enviar" +msgstr "" #: templates/js/translated/modals.js:156 msgid "Form Title" -msgstr "Título do Formulário" +msgstr "" #: templates/js/translated/modals.js:445 msgid "Waiting for server..." -msgstr "Aguardando o servidor..." +msgstr "" #: templates/js/translated/modals.js:596 msgid "Show Error Information" -msgstr "Mostrar Informação do Erro" +msgstr "" #: templates/js/translated/modals.js:682 msgid "Accept" -msgstr "Aceitar" +msgstr "" #: templates/js/translated/modals.js:740 msgid "Loading Data" -msgstr "Carregando dados" +msgstr "" #: templates/js/translated/modals.js:1011 msgid "Invalid response from server" -msgstr "Resposta inválida do servidor" +msgstr "" #: templates/js/translated/modals.js:1011 msgid "Form data missing from server response" -msgstr "Dado de formulário faltando na resposta do servidor" +msgstr "" #: templates/js/translated/modals.js:1023 msgid "Error posting form data" -msgstr "Erro ao postar os dados de formulários" +msgstr "" #: templates/js/translated/modals.js:1120 msgid "JSON response missing form data" -msgstr "Dados de formulário faltando na resposta JSON" +msgstr "" #: templates/js/translated/modals.js:1135 msgid "Error 400: Bad Request" -msgstr "Erro 400: Requisição Ruim" +msgstr "" #: templates/js/translated/modals.js:1136 msgid "Server returned error code 400" -msgstr "Servidor retornou o código de erro 400" +msgstr "" #: templates/js/translated/modals.js:1159 msgid "Error requesting form data" -msgstr "Erro ao pedir dados de formulário" +msgstr "" #: templates/js/translated/news.js:33 msgid "No news found" -msgstr "Nenhuma notícia encontrada" +msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 @@ -12281,367 +12309,363 @@ msgstr "" #: templates/js/translated/notification.js:52 msgid "Age" -msgstr "Idade" +msgstr "" #: templates/js/translated/notification.js:65 msgid "Notification" -msgstr "Notificação" +msgstr "" #: templates/js/translated/notification.js:224 msgid "Mark as unread" -msgstr "Marcar como não lido" +msgstr "" #: templates/js/translated/notification.js:228 msgid "Mark as read" -msgstr "Marcar como lido" +msgstr "" #: templates/js/translated/notification.js:254 msgid "No unread notifications" -msgstr "Nenhuma notificação pendente" +msgstr "" #: templates/js/translated/notification.js:296 templates/notifications.html:12 msgid "Notifications will load here" -msgstr "Notificações irão carregar aqui" +msgstr "" #: templates/js/translated/order.js:89 msgid "Add Extra Line Item" -msgstr "Adicionar Item de Linha Extra" +msgstr "" #: templates/js/translated/order.js:126 msgid "Export Order" -msgstr "Ordem de Exportação" +msgstr "" #: templates/js/translated/order.js:241 msgid "Duplicate Line" -msgstr "Duplicar Linha" +msgstr "" #: templates/js/translated/order.js:255 msgid "Edit Line" -msgstr "Editar Linha" +msgstr "" #: templates/js/translated/order.js:268 msgid "Delete Line" -msgstr "Apagar Linha" +msgstr "" #: templates/js/translated/order.js:281 #: templates/js/translated/purchase_order.js:1990 msgid "No line items found" -msgstr "Nenhum item de linha encontrado" +msgstr "" #: templates/js/translated/order.js:369 msgid "Duplicate line" -msgstr "Duplicar linha" +msgstr "" #: templates/js/translated/order.js:370 msgid "Edit line" -msgstr "Editar linha" +msgstr "" #: templates/js/translated/order.js:374 msgid "Delete line" -msgstr "Apagar linha" +msgstr "" #: templates/js/translated/part.js:90 msgid "Part Attributes" -msgstr "Atributos da Peça" +msgstr "" #: templates/js/translated/part.js:94 msgid "Part Creation Options" -msgstr "Opções de Criação de Peça" +msgstr "" #: templates/js/translated/part.js:98 msgid "Part Duplication Options" -msgstr "Opções de Duplicação de Peça" +msgstr "" #: templates/js/translated/part.js:121 msgid "Add Part Category" -msgstr "Adicionar Categoria de Peça" - -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "Categoria de peça pai" +msgstr "" #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" -msgstr "Ícone (opcional) - Explorar todos os ícones disponíveis em" +msgstr "" #: templates/js/translated/part.js:353 msgid "Create Part Category" -msgstr "Criar Categoria de Peça" +msgstr "" #: templates/js/translated/part.js:356 msgid "Create new category after this one" -msgstr "Criar nova categoria após esta" +msgstr "" #: templates/js/translated/part.js:357 msgid "Part category created" -msgstr "Categoria da peça criada" +msgstr "" #: templates/js/translated/part.js:371 msgid "Edit Part Category" -msgstr "Editar Categoria da Peça" +msgstr "" #: templates/js/translated/part.js:384 msgid "Are you sure you want to delete this part category?" -msgstr "Você tem certeza que deseja excluir essa categoria de peça?" +msgstr "" #: templates/js/translated/part.js:389 msgid "Move to parent category" -msgstr "Mover para categoria parental" +msgstr "" #: templates/js/translated/part.js:398 msgid "Delete Part Category" -msgstr "Excluir Categoria de Peça" +msgstr "" #: templates/js/translated/part.js:402 msgid "Action for parts in this category" -msgstr "Ação para peças nesta categoria" +msgstr "" #: templates/js/translated/part.js:407 msgid "Action for child categories" -msgstr "Ação para categorias filhas" +msgstr "" #: templates/js/translated/part.js:431 msgid "Create Part" -msgstr "Criar Peça" +msgstr "" #: templates/js/translated/part.js:433 msgid "Create another part after this one" -msgstr "Criar outra peça após esta" +msgstr "" #: templates/js/translated/part.js:434 msgid "Part created successfully" -msgstr "Peça criada com sucesso" +msgstr "" #: templates/js/translated/part.js:462 msgid "Edit Part" -msgstr "Editar Peça" +msgstr "" #: templates/js/translated/part.js:464 msgid "Part edited" -msgstr "Peça editada" +msgstr "" #: templates/js/translated/part.js:475 msgid "Create Part Variant" -msgstr "Criar Variante da Peça" +msgstr "" #: templates/js/translated/part.js:532 msgid "Active Part" -msgstr "Peça Ativa" +msgstr "" #: templates/js/translated/part.js:533 msgid "Part cannot be deleted as it is currently active" -msgstr "Peça não pode ser excluída enquanto estiver ativa" +msgstr "" #: templates/js/translated/part.js:547 msgid "Deleting this part cannot be reversed" -msgstr "Excluir esta peça não é reversível" +msgstr "" #: templates/js/translated/part.js:549 msgid "Any stock items for this part will be deleted" -msgstr "Qualquer item de estoque desta peça será excluído" +msgstr "" #: templates/js/translated/part.js:550 msgid "This part will be removed from any Bills of Material" -msgstr "Esta peça será removida de quaisquer Lista de Materiais (BOM)" +msgstr "" #: templates/js/translated/part.js:551 msgid "All manufacturer and supplier information for this part will be deleted" -msgstr "Toda informação de fabricante e fornecedor dessa peça será excluída" +msgstr "" #: templates/js/translated/part.js:558 msgid "Delete Part" -msgstr "Excluir Peça" +msgstr "" #: templates/js/translated/part.js:594 msgid "You are subscribed to notifications for this item" -msgstr "Você está inscrito para receber notificações para este item" +msgstr "" #: templates/js/translated/part.js:596 msgid "You have subscribed to notifications for this item" -msgstr "Você se inscreveu para notificações deste item" +msgstr "" #: templates/js/translated/part.js:601 msgid "Subscribe to notifications for this item" -msgstr "Inscreva-se para receber notificações deste item" +msgstr "" #: templates/js/translated/part.js:603 msgid "You have unsubscribed to notifications for this item" -msgstr "Você descadastrou para notificações deste item" +msgstr "" #: templates/js/translated/part.js:620 msgid "Validating the BOM will mark each line item as valid" -msgstr "Validando a BOM irá marcar como cada linha válida" +msgstr "" #: templates/js/translated/part.js:630 msgid "Validate Bill of Materials" -msgstr "Validar Lista de Materiais (BOM)" +msgstr "" #: templates/js/translated/part.js:633 msgid "Validated Bill of Materials" -msgstr "Lista de Materiais Validada" +msgstr "" #: templates/js/translated/part.js:658 msgid "Copy Bill of Materials" -msgstr "Copiar Lista de Materiais (BOM)" +msgstr "" #: templates/js/translated/part.js:686 #: templates/js/translated/table_filters.js:747 msgid "Low stock" -msgstr "Estoque baixo" +msgstr "" #: templates/js/translated/part.js:689 msgid "No stock available" -msgstr "Nenhum estoque disponível" +msgstr "" #: templates/js/translated/part.js:749 msgid "Demand" -msgstr "Demanda" +msgstr "" #: templates/js/translated/part.js:772 msgid "Unit" -msgstr "Unidade" +msgstr "" #: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 msgid "Virtual part" -msgstr "Peça virtual" +msgstr "" #: templates/js/translated/part.js:807 msgid "Subscribed part" -msgstr "Peça inscrita" +msgstr "" #: templates/js/translated/part.js:811 msgid "Salable part" -msgstr "Peça vendível" +msgstr "" #: templates/js/translated/part.js:890 msgid "Schedule generation of a new stocktake report." -msgstr "Programar geração de um novo relatório de balanço." +msgstr "" #: templates/js/translated/part.js:890 msgid "Once complete, the stocktake report will be available for download." -msgstr "Uma vez concluído, o relatório de estoque estará disponível para baixar." +msgstr "" #: templates/js/translated/part.js:898 msgid "Generate Stocktake Report" -msgstr "Gerar Relatório de Balanço" +msgstr "" #: templates/js/translated/part.js:902 msgid "Stocktake report scheduled" -msgstr "Relatório de balanço agendado" +msgstr "" #: templates/js/translated/part.js:1051 msgid "No stocktake information available" -msgstr "Nenhuma informação de balanço disponível" +msgstr "" #: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 msgid "Edit Stocktake Entry" -msgstr "Editar Lançamento de Balanço" +msgstr "" #: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 msgid "Delete Stocktake Entry" -msgstr "Apagar Lançamento de Balanço" +msgstr "" #: templates/js/translated/part.js:1282 msgid "No variants found" -msgstr "Nenhuma variante encontrada" +msgstr "" #: templates/js/translated/part.js:1600 msgid "No part parameter templates found" -msgstr "Nenhum modelo parâmetro de peça encontrado" +msgstr "" #: templates/js/translated/part.js:1663 msgid "Edit Part Parameter Template" -msgstr "Editar Modelo de Parâmetro da Peça" +msgstr "" #: templates/js/translated/part.js:1675 msgid "Any parameters which reference this template will also be deleted" -msgstr "Quaisquer parâmetros que se referencie este modelo serão excluídos" +msgstr "" #: templates/js/translated/part.js:1683 msgid "Delete Part Parameter Template" -msgstr "Excluir Modelo de Parâmetro de Peça" +msgstr "" #: templates/js/translated/part.js:1717 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" -msgstr "Nenhum pedido de compra encontrado" +msgstr "" #: templates/js/translated/part.js:1861 #: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/return_order.js:755 #: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" -msgstr "Este item de linha está atrasado" +msgstr "" #: templates/js/translated/part.js:1907 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" -msgstr "Receber item de linha" +msgstr "" #: templates/js/translated/part.js:1970 msgid "Delete part relationship" -msgstr "Excluir relação de peças" +msgstr "" #: templates/js/translated/part.js:1992 msgid "Delete Part Relationship" -msgstr "Excluir Relação de Peça" +msgstr "" #: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 msgid "No parts found" -msgstr "Nenhuma peça encontrada" +msgstr "" #: templates/js/translated/part.js:2201 msgid "Set the part category for the selected parts" -msgstr "Definir a categoria das peças selecionadas" +msgstr "" #: templates/js/translated/part.js:2206 msgid "Set Part Category" -msgstr "Definir Categoria da Peça" +msgstr "" #: templates/js/translated/part.js:2236 msgid "Set category" -msgstr "Definir categoria" +msgstr "" #: templates/js/translated/part.js:2287 msgid "part" -msgstr "peça" +msgstr "" #: templates/js/translated/part.js:2288 msgid "parts" -msgstr "peças" +msgstr "" #: templates/js/translated/part.js:2384 msgid "No category" -msgstr "Nenhuma categoria" +msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 #: templates/js/translated/stock.js:2669 msgid "Display as list" -msgstr "Visualizar como lista" +msgstr "" #: templates/js/translated/part.js:2547 msgid "Display as grid" -msgstr "Exibir como grade" +msgstr "" #: templates/js/translated/part.js:2645 msgid "No subcategories found" -msgstr "Nenhuma subcategoria encontrada" +msgstr "" #: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 msgid "Display as tree" -msgstr "Exibir como árvore" +msgstr "" #: templates/js/translated/part.js:2761 msgid "Load Subcategories" -msgstr "Carregar Subcategorias" +msgstr "" #: templates/js/translated/part.js:2777 msgid "Subscribed category" -msgstr "Categoria inscrita" +msgstr "" #: templates/js/translated/part.js:2865 msgid "No test templates matching query" -msgstr "Nenhum modelo de teste corresponde à consulta" +msgstr "" #: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 msgid "results" @@ -12649,112 +12673,112 @@ msgstr "" #: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 msgid "Edit test result" -msgstr "Editar resultados de teste" +msgstr "" #: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" -msgstr "Excluir resultado do teste" +msgstr "" #: templates/js/translated/part.js:2942 msgid "This test is defined for a parent part" -msgstr "Este teste é definido para uma peça parental" +msgstr "" #: templates/js/translated/part.js:2958 msgid "Edit Test Result Template" -msgstr "Editar Modelo de Resultado de Teste" +msgstr "" #: templates/js/translated/part.js:2972 msgid "Delete Test Result Template" -msgstr "Excluir Modelo de Resultado de Teste" +msgstr "" #: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 msgid "No date specified" -msgstr "Nenhuma data especificada" +msgstr "" #: templates/js/translated/part.js:3054 msgid "Specified date is in the past" -msgstr "Data especificada está no passado" +msgstr "" #: templates/js/translated/part.js:3060 msgid "Speculative" -msgstr "Especulativo" +msgstr "" #: templates/js/translated/part.js:3110 msgid "No scheduling information available for this part" -msgstr "Nenhuma informação de agendamento para esta peça" +msgstr "" #: templates/js/translated/part.js:3116 msgid "Error fetching scheduling information for this part" -msgstr "Erro ao obter informações de agendamento para esta peça" +msgstr "" #: templates/js/translated/part.js:3212 msgid "Scheduled Stock Quantities" -msgstr "Quantidades de Estoque Agendadas" +msgstr "" #: templates/js/translated/part.js:3228 msgid "Maximum Quantity" -msgstr "Quantidade Máxima" +msgstr "" #: templates/js/translated/part.js:3273 msgid "Minimum Stock Level" -msgstr "Nível Mínimo de Estoque" +msgstr "" #: templates/js/translated/plugin.js:46 msgid "No plugins found" -msgstr "Nenhum plug-in encontrado" +msgstr "" #: templates/js/translated/plugin.js:58 msgid "This plugin is no longer installed" -msgstr "Este plug-in não está mais instalado" +msgstr "" #: templates/js/translated/plugin.js:60 msgid "This plugin is active" -msgstr "Este plug-in está ativo" +msgstr "" #: templates/js/translated/plugin.js:62 msgid "This plugin is installed but not active" -msgstr "Este plug-in está instalado mas não está ativo" +msgstr "" #: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:186 msgid "Disable Plugin" -msgstr "Desativar Plug-in" +msgstr "" #: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:186 msgid "Enable Plugin" -msgstr "Habilitar Plug-in" +msgstr "" #: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" -msgstr "O Plug-in foi instalado" +msgstr "" #: templates/js/translated/plugin.js:177 msgid "Are you sure you want to enable this plugin?" -msgstr "Tem certeza que deseja habilitar este plug-in?" +msgstr "" #: templates/js/translated/plugin.js:181 msgid "Are you sure you want to disable this plugin?" -msgstr "Tem certeza que deseja desabilitar este plug-in?" +msgstr "" #: templates/js/translated/plugin.js:189 msgid "Enable" -msgstr "Habilitar" +msgstr "" #: templates/js/translated/plugin.js:189 msgid "Disable" -msgstr "Desabilitar" +msgstr "" #: templates/js/translated/plugin.js:203 msgid "Plugin updated" -msgstr "Plug-in atualizado" +msgstr "" #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" -msgstr "Erro ao buscar dados monetários" +msgstr "" #: templates/js/translated/pricing.js:321 msgid "No BOM data available" -msgstr "Nenhum dado da BOM disponível" +msgstr "" #: templates/js/translated/pricing.js:463 msgid "No supplier pricing data available" @@ -12778,15 +12802,15 @@ msgstr "" #: templates/js/translated/pricing.js:916 msgid "Sale Price History" -msgstr "Histórico de Preço de Venda" +msgstr "" #: templates/js/translated/pricing.js:1005 msgid "No variant data available" -msgstr "Nenhum dado de variante disponível" +msgstr "" #: templates/js/translated/pricing.js:1045 msgid "Variant Part" -msgstr "Peça Variante" +msgstr "" #: templates/js/translated/purchase_order.js:169 msgid "Select purchase order to duplicate" @@ -12935,56 +12959,56 @@ msgstr "" #: templates/js/translated/purchase_order.js:1280 msgid "Serials" -msgstr "Seriais" +msgstr "" #: templates/js/translated/purchase_order.js:1305 msgid "Order Code" -msgstr "Código do Pedido" +msgstr "" #: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" -msgstr "Quantidade a Receber" +msgstr "" #: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" -msgstr "Confirmar o recebimento dos itens" +msgstr "" #: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" -msgstr "Receber Itens do Pedido de Compra" +msgstr "" #: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" -msgstr "Escanar o Código de Barras do Item" +msgstr "" #: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" -msgstr "Ler código de barras no item de entrada (não deve corresponder a nenhum item de estoque existente)" +msgstr "" #: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" -msgstr "Dados do código de barras inválido" +msgstr "" #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/return_order.js:285 #: templates/js/translated/sales_order.js:810 #: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" -msgstr "O pedido está atrasado" +msgstr "" #: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" -msgstr "Todos os Itens de Linha selecionadas serão excluídos" +msgstr "" #: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" -msgstr "Excluir itens de linha selecionados?" +msgstr "" #: templates/js/translated/purchase_order.js:1916 #: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" -msgstr "Duplicar Item de Linha" +msgstr "" #: templates/js/translated/purchase_order.js:1931 #: templates/js/translated/return_order.js:475 @@ -13035,53 +13059,53 @@ msgstr "" #: templates/js/translated/return_order.js:134 msgid "Create Return Order" -msgstr "Criar Pedido de Devolução" +msgstr "" #: templates/js/translated/return_order.js:149 msgid "Edit Return Order" -msgstr "Editar Pedido de Devolução" +msgstr "" #: templates/js/translated/return_order.js:169 msgid "Issue Return Order" -msgstr "Emitir Pedido de Devolução" +msgstr "" #: templates/js/translated/return_order.js:186 msgid "Are you sure you wish to cancel this Return Order?" -msgstr "Tem certeza que deseja cancelar este Pedido de Devolução?" +msgstr "" #: templates/js/translated/return_order.js:193 msgid "Cancel Return Order" -msgstr "Cancelar Pedido de Devolução" +msgstr "" #: templates/js/translated/return_order.js:218 msgid "Complete Return Order" -msgstr "Completar Pedido de Devolução" +msgstr "" #: templates/js/translated/return_order.js:265 msgid "No return orders found" -msgstr "Nenhum pedido de devolução encontrado" +msgstr "" #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" -msgstr "Cliente Inválido" +msgstr "" #: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" -msgstr "Receber Itens do Pedido de Devolução" +msgstr "" #: templates/js/translated/return_order.js:692 #: templates/js/translated/sales_order.js:2267 msgid "No matching line items" -msgstr "Nenhum item de linha correspondente" +msgstr "" #: templates/js/translated/return_order.js:797 msgid "Mark item as received" -msgstr "Marcar item como recebido" +msgstr "" #: templates/js/translated/sales_order.js:161 msgid "Create Sales Order" -msgstr "Criar Pedido de Venda" +msgstr "" #: templates/js/translated/sales_order.js:176 msgid "Edit Sales Order" @@ -13198,15 +13222,15 @@ msgstr "" #: templates/js/translated/sales_order.js:1084 msgid "Tracking" -msgstr "Rastreamento" +msgstr "" #: templates/js/translated/sales_order.js:1088 msgid "Invoice" -msgstr "Fatura" +msgstr "" #: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" -msgstr "Adicionar Envio" +msgstr "" #: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" @@ -13245,16 +13269,16 @@ msgstr "" #: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" -msgstr "Alocar números de série" +msgstr "" #: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" -msgstr "Comprar estoque" +msgstr "" #: templates/js/translated/sales_order.js:2057 #: templates/js/translated/sales_order.js:2245 msgid "Calculate price" -msgstr "Calcular preço" +msgstr "" #: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" @@ -13270,15 +13294,15 @@ msgstr "" #: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" -msgstr "Atualizar Preço Unitário" +msgstr "" #: templates/js/translated/search.js:270 msgid "No results" -msgstr "Nenhum resultado" +msgstr "" #: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" -msgstr "Inserir entrada de pesquisa" +msgstr "" #: templates/js/translated/search.js:342 msgid "result" @@ -13298,27 +13322,23 @@ msgstr "" #: templates/js/translated/stock.js:129 msgid "Confirm Stock Serialization" -msgstr "Confirmar Serialização de Estoque" +msgstr "" #: templates/js/translated/stock.js:139 msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" -msgstr "Ícone padrão para todas as locações que não têm um ícone definido (opcional) - Explorar todos os ícones disponíveis em" - -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" msgstr "" #: templates/js/translated/stock.js:166 msgid "Add Location type" -msgstr "Adicionar Tipo de Localização" +msgstr "" #: templates/js/translated/stock.js:202 msgid "Edit Stock Location" -msgstr "Editar Local de Estoque" +msgstr "" #: templates/js/translated/stock.js:217 msgid "New Stock Location" -msgstr "Novo Local de Estoque" +msgstr "" #: templates/js/translated/stock.js:219 msgid "Create another location after this one" @@ -13358,31 +13378,31 @@ msgstr "" #: templates/js/translated/stock.js:362 msgid "Enter initial quantity for this stock item" -msgstr "Inserir quantidade inicial deste item de estoque" +msgstr "" #: templates/js/translated/stock.js:368 msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "Insira os números de série para novo estoque (ou deixe em branco)" +msgstr "" #: templates/js/translated/stock.js:439 msgid "Stock item duplicated" -msgstr "Item de estoque duplicado" +msgstr "" #: templates/js/translated/stock.js:459 msgid "Duplicate Stock Item" -msgstr "Duplicar Item de Estoque" +msgstr "" #: templates/js/translated/stock.js:475 msgid "Are you sure you want to delete this stock item?" -msgstr "Você tem certeza que deseja excluir este item de estoque?" +msgstr "" #: templates/js/translated/stock.js:480 msgid "Delete Stock Item" -msgstr "Excluir Item de Estoque" +msgstr "" #: templates/js/translated/stock.js:501 msgid "Edit Stock Item" -msgstr "Editar Item do Estoque" +msgstr "" #: templates/js/translated/stock.js:543 msgid "Create another item after this one" @@ -13450,55 +13470,55 @@ msgstr "" #: templates/js/translated/stock.js:1024 msgid "Transfer Stock" -msgstr "Transferir Estoque" +msgstr "" #: templates/js/translated/stock.js:1025 msgid "Move" -msgstr "Mover" +msgstr "" #: templates/js/translated/stock.js:1031 msgid "Count Stock" -msgstr "Contar Estoque" +msgstr "" #: templates/js/translated/stock.js:1032 msgid "Count" -msgstr "Contar" +msgstr "" #: templates/js/translated/stock.js:1036 msgid "Remove Stock" -msgstr "Remover Estoque" +msgstr "" #: templates/js/translated/stock.js:1037 msgid "Take" -msgstr "Pegar" +msgstr "" #: templates/js/translated/stock.js:1041 msgid "Add Stock" -msgstr "Adicionar Estoque" +msgstr "" #: templates/js/translated/stock.js:1042 users/models.py:392 msgid "Add" -msgstr "Adicionar" +msgstr "" #: templates/js/translated/stock.js:1046 msgid "Delete Stock" -msgstr "Excluir Estoque" +msgstr "" #: templates/js/translated/stock.js:1146 msgid "Quantity cannot be adjusted for serialized stock" -msgstr "Quantidade não pode ser ajustada para estoque serializado" +msgstr "" #: templates/js/translated/stock.js:1146 msgid "Specify stock quantity" -msgstr "Especifique quantidade no estoque" +msgstr "" #: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" -msgstr "Selecionar Itens de Estoque" +msgstr "" #: templates/js/translated/stock.js:1181 msgid "Select at least one available stock item" -msgstr "Selecione ao menos um item de estoque disponível" +msgstr "" #: templates/js/translated/stock.js:1227 msgid "Confirm stock adjustment" @@ -13506,31 +13526,31 @@ msgstr "" #: templates/js/translated/stock.js:1363 msgid "PASS" -msgstr "PASSOU" +msgstr "" #: templates/js/translated/stock.js:1365 msgid "FAIL" -msgstr "FALHOU" +msgstr "" #: templates/js/translated/stock.js:1370 msgid "NO RESULT" -msgstr "SEM RESULTADO" +msgstr "" #: templates/js/translated/stock.js:1450 msgid "Pass test" -msgstr "Passou no teste" +msgstr "" #: templates/js/translated/stock.js:1453 msgid "Add test result" -msgstr "Adicionar resultado de teste" +msgstr "" #: templates/js/translated/stock.js:1476 msgid "No test results found" -msgstr "Nenhum resultado de teste encontrado" +msgstr "" #: templates/js/translated/stock.js:1540 msgid "Test Date" -msgstr "Data do Teste" +msgstr "" #: templates/js/translated/stock.js:1553 msgid "Test started" @@ -13542,55 +13562,55 @@ msgstr "" #: templates/js/translated/stock.js:1716 msgid "Edit Test Result" -msgstr "Editar Resultado do Teste" +msgstr "" #: templates/js/translated/stock.js:1736 msgid "Delete Test Result" -msgstr "Excluir Resultado do Teste" +msgstr "" #: templates/js/translated/stock.js:1768 msgid "In production" -msgstr "Em produção" +msgstr "" #: templates/js/translated/stock.js:1772 msgid "Installed in Stock Item" -msgstr "Instalado em Item de Estoque" +msgstr "" #: templates/js/translated/stock.js:1780 msgid "Assigned to Sales Order" -msgstr "Atribuir para o Pedido de Venda" +msgstr "" #: templates/js/translated/stock.js:1786 msgid "No stock location set" -msgstr "Sem local de estoque definido" +msgstr "" #: templates/js/translated/stock.js:1842 msgid "Change stock status" -msgstr "Mudar estado do estoque" +msgstr "" #: templates/js/translated/stock.js:1851 msgid "Merge stock" -msgstr "Mesclar estoque" +msgstr "" #: templates/js/translated/stock.js:1900 msgid "Delete stock" -msgstr "Excluir estoque" +msgstr "" #: templates/js/translated/stock.js:1953 msgid "stock items" -msgstr "itens de estoque" +msgstr "" #: templates/js/translated/stock.js:1958 msgid "Scan to location" -msgstr "Escanear para local" +msgstr "" #: templates/js/translated/stock.js:1969 msgid "Stock Actions" -msgstr "Ações de Estoque" +msgstr "" #: templates/js/translated/stock.js:2013 msgid "Load installed items" -msgstr "Carregar itens instalados" +msgstr "" #: templates/js/translated/stock.js:2091 msgid "Stock item is in production" @@ -13671,11 +13691,11 @@ msgstr "" #: templates/js/translated/stock.js:2846 msgid "Details" -msgstr "Detalhes" +msgstr "" #: templates/js/translated/stock.js:2850 msgid "No changes" -msgstr "Nenhuma mudança" +msgstr "" #: templates/js/translated/stock.js:2862 msgid "Part information unavailable" @@ -13711,15 +13731,15 @@ msgstr "" #: templates/js/translated/stock.js:3005 msgid "Added" -msgstr "Adicionado" +msgstr "" #: templates/js/translated/stock.js:3013 msgid "Removed" -msgstr "Removido" +msgstr "" #: templates/js/translated/stock.js:3085 msgid "No installed items" -msgstr "Nenhum item instalado" +msgstr "" #: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" @@ -13739,7 +13759,7 @@ msgstr "" #: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" -msgstr "O Item de Estoque conecta a uma peça que é um BOM deste Item de Estoque" +msgstr "" #: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" @@ -13827,58 +13847,58 @@ msgstr "" #: templates/js/translated/table_filters.js:279 #: templates/js/translated/table_filters.js:711 msgid "Include subcategories" -msgstr "Incluir subcategorias" +msgstr "" #: templates/js/translated/table_filters.js:287 #: templates/js/translated/table_filters.js:759 msgid "Subscribed" -msgstr "Inscrito" +msgstr "" #: templates/js/translated/table_filters.js:298 #: templates/js/translated/table_filters.js:380 msgid "Is Serialized" -msgstr "É Serializado" +msgstr "" #: templates/js/translated/table_filters.js:301 #: templates/js/translated/table_filters.js:387 msgid "Serial number GTE" -msgstr "Número de série GTE" +msgstr "" #: templates/js/translated/table_filters.js:302 #: templates/js/translated/table_filters.js:388 msgid "Serial number greater than or equal to" -msgstr "Número de série maior ou igual a" +msgstr "" #: templates/js/translated/table_filters.js:305 #: templates/js/translated/table_filters.js:391 msgid "Serial number LTE" -msgstr "Número de série LTE" +msgstr "" #: templates/js/translated/table_filters.js:306 #: templates/js/translated/table_filters.js:392 msgid "Serial number less than or equal to" -msgstr "Número de série menor ou igual a" +msgstr "" #: templates/js/translated/table_filters.js:309 #: templates/js/translated/table_filters.js:310 #: templates/js/translated/table_filters.js:383 #: templates/js/translated/table_filters.js:384 msgid "Serial number" -msgstr "Número de série" +msgstr "" #: templates/js/translated/table_filters.js:314 #: templates/js/translated/table_filters.js:405 msgid "Batch code" -msgstr "Código do lote" +msgstr "" #: templates/js/translated/table_filters.js:325 #: templates/js/translated/table_filters.js:700 msgid "Active parts" -msgstr "Peças Ativas" +msgstr "" #: templates/js/translated/table_filters.js:326 msgid "Show stock for active parts" -msgstr "Mostrar estoque de peças ativas" +msgstr "" #: templates/js/translated/table_filters.js:331 msgid "Part is an assembly" @@ -14084,51 +14104,51 @@ msgstr "" #: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" -msgstr "Ocultar/Mostrar paginação" +msgstr "" #: templates/js/translated/tables.js:555 msgid "Toggle" -msgstr "Alternar" +msgstr "" #: templates/js/translated/tables.js:558 msgid "Columns" -msgstr "Colunas" +msgstr "" #: templates/js/translated/tables.js:561 msgid "All" -msgstr "Todos" +msgstr "" #: templates/navbar.html:45 msgid "Buy" -msgstr "Comprar" +msgstr "" #: templates/navbar.html:57 msgid "Sell" -msgstr "Vender" +msgstr "" #: templates/navbar.html:121 msgid "Show Notifications" -msgstr "Mostrar Notificações" +msgstr "" #: templates/navbar.html:124 msgid "New Notifications" -msgstr "Novas Notificações" +msgstr "" #: templates/navbar.html:144 users/models.py:201 msgid "Admin" -msgstr "Administrador" +msgstr "" #: templates/navbar.html:148 msgid "Logout" -msgstr "Encerrar sessão" +msgstr "" #: templates/notes_buttons.html:6 templates/notes_buttons.html:7 msgid "Save" -msgstr "Salvar" +msgstr "" #: templates/notifications.html:9 msgid "Show all notifications and history" -msgstr "Mostrar todas as notificações e histórico" +msgstr "" #: templates/pui_banner.html:9 msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." @@ -14148,80 +14168,80 @@ msgstr "" #: templates/qr_code.html:11 msgid "QR data not provided" -msgstr "Nenhum dado QR providenciado" +msgstr "" #: templates/registration/logged_out.html:7 msgid "You were logged out successfully." -msgstr "Você foi desconectado com sucesso." +msgstr "" #: templates/registration/logged_out.html:9 msgid "Log in again" -msgstr "Entrar novamente" +msgstr "" #: templates/search.html:9 msgid "Show full search results" -msgstr "Mostrar todos os resultados da pesquisa" +msgstr "" #: templates/search.html:12 msgid "Clear search" -msgstr "Limpar pesquisa" +msgstr "" #: templates/search.html:15 msgid "Close search menu" -msgstr "Fechar menu de pesuisa" +msgstr "" #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" -msgstr "Falha ao acessar a rede social" +msgstr "" #: templates/socialaccount/authentication_error.html:8 msgid "Account Login Failure" -msgstr "Falha ao acessar conta" +msgstr "" #: templates/socialaccount/authentication_error.html:11 msgid "An error occurred while attempting to login via your social network account." -msgstr "Ocorreu um erro ao tentar entrar com a sua conta de rede social." +msgstr "" #: templates/socialaccount/authentication_error.html:13 msgid "Contact your system administrator for further information." -msgstr "Contate seu administrador de sistema para mais informações." +msgstr "" #: templates/socialaccount/login.html:13 #, python-format msgid "Connect %(provider)s" -msgstr "Conectar %(provider)s" +msgstr "" #: templates/socialaccount/login.html:15 #, python-format msgid "You are about to connect a new third party account from %(provider)s." -msgstr "Você está prestes a conectar uma nova conta de terceiros do %(provider)s." +msgstr "" #: templates/socialaccount/login.html:17 #, python-format msgid "Sign In Via %(provider)s" -msgstr "Entrar através %(provider)s" +msgstr "" #: templates/socialaccount/login.html:19 #, python-format msgid "You are about to sign in using a third party account from %(provider)s." -msgstr "Você está prestes a entrar utilizando uma conta de terceiros de %(provider)s." +msgstr "" #: templates/socialaccount/login.html:24 msgid "Continue" -msgstr "Continuar" +msgstr "" #: templates/socialaccount/login.html:29 msgid "Invalid SSO Provider" -msgstr "Provedor SSO inválido" +msgstr "" #: templates/socialaccount/login.html:31 msgid "The selected SSO provider is invalid, or has not been correctly configured" -msgstr "O provedor de SSO selecionado é inválido ou não foi configurado corretamente" +msgstr "" #: templates/socialaccount/signup.html:11 #, python-format msgid "You are about to use your %(provider_name)s account to login to %(site_name)s." -msgstr "Você está prestes a usar sua conta %(provider_name)s para entrar no %(site_name)s." +msgstr "" #: templates/socialaccount/signup.html:13 msgid "As a final step, please complete the following form" @@ -14229,172 +14249,173 @@ msgstr "" #: templates/socialaccount/snippets/provider_list.html:26 msgid "Provider has not been configured" -msgstr "O provedor não foi configurado" +msgstr "" #: templates/socialaccount/snippets/provider_list.html:35 msgid "No SSO providers have been configured" -msgstr "Nenhum provedor de SSO foi configurado" +msgstr "" #: templates/stats.html:13 msgid "Instance Name" -msgstr "Nome da Instância" +msgstr "" #: templates/stats.html:18 msgid "Database" -msgstr "Banco de Dados" +msgstr "" #: templates/stats.html:26 msgid "Server is running in debug mode" -msgstr "O servidor está executando no modo de depuração" +msgstr "" #: templates/stats.html:33 msgid "Docker Mode" -msgstr "Modo Docker" +msgstr "" #: templates/stats.html:34 msgid "Server is deployed using docker" -msgstr "O servidor está implantado usando o docker" +msgstr "" #: templates/stats.html:39 msgid "Plugin Support" -msgstr "Suporte a Extensões" +msgstr "" #: templates/stats.html:43 msgid "Plugin support enabled" -msgstr "Suporte a extensões habilitado" +msgstr "" #: templates/stats.html:45 msgid "Plugin support disabled" -msgstr "Suporte de extensão desativado" +msgstr "" #: templates/stats.html:52 msgid "Server status" -msgstr "Estado do Servidor" +msgstr "" #: templates/stats.html:55 msgid "Healthy" -msgstr "Saudável" +msgstr "" #: templates/stats.html:57 msgid "Issues detected" -msgstr "Problemas detectados" +msgstr "" #: templates/stats.html:64 msgid "Background Worker" -msgstr "Funcionário em segundo plano" +msgstr "" #: templates/stats.html:67 msgid "Background worker not running" -msgstr "Trabalhador de fundo não está em execução" +msgstr "" #: templates/stats.html:75 msgid "Email Settings" -msgstr "Configurações de Email" +msgstr "" #: templates/stats.html:78 msgid "Email settings not configured" -msgstr "Configurações de e-mail não configuradas" +msgstr "" #: templates/yesnolabel.html:4 msgid "Yes" -msgstr "Sim" +msgstr "" #: templates/yesnolabel.html:6 msgid "No" -msgstr "Não" +msgstr "" #: users/admin.py:104 msgid "Users" -msgstr "Usuários" +msgstr "" #: users/admin.py:105 msgid "Select which users are assigned to this group" -msgstr "Selecione quais usuários estão atribuídos a este grupo" +msgstr "" #: users/admin.py:249 msgid "The following users are members of multiple groups" -msgstr "Os seguintes usuários são membros de vários grupos" +msgstr "" #: users/admin.py:283 msgid "Personal info" -msgstr "Informações pessoais" +msgstr "" #: users/admin.py:285 msgid "Permissions" -msgstr "Permissões" +msgstr "" #: users/admin.py:288 msgid "Important dates" -msgstr "Datas importantes" +msgstr "" #: users/authentication.py:29 users/models.py:138 msgid "Token has been revoked" -msgstr "O token foi revogado" +msgstr "" #: users/authentication.py:32 msgid "Token has expired" -msgstr "Token expirou" +msgstr "" #: users/models.py:81 msgid "API Token" -msgstr "Token da API" +msgstr "" #: users/models.py:82 msgid "API Tokens" -msgstr "Tokens de API" +msgstr "" #: users/models.py:118 msgid "Token Name" -msgstr "Nome do Token" +msgstr "" #: users/models.py:119 msgid "Custom token name" -msgstr "Nome de token personalizado" +msgstr "" #: users/models.py:125 msgid "Token expiry date" -msgstr "Data de validade do token" +msgstr "" #: users/models.py:133 msgid "Last Seen" -msgstr "Visto pela Última Vez" +msgstr "" #: users/models.py:134 msgid "Last time the token was used" -msgstr "Última vez que o token foi usado" +msgstr "" #: users/models.py:138 msgid "Revoked" -msgstr "Revogado" +msgstr "" #: users/models.py:375 msgid "Permission set" -msgstr "Permissão definida" +msgstr "" #: users/models.py:384 msgid "Group" -msgstr "Grupo" +msgstr "" #: users/models.py:388 msgid "View" -msgstr "Visualizar" +msgstr "" #: users/models.py:388 msgid "Permission to view items" -msgstr "Permissão para ver itens" +msgstr "" #: users/models.py:392 msgid "Permission to add items" -msgstr "Permissão para adicionar itens" +msgstr "" #: users/models.py:396 msgid "Change" -msgstr "Alterar" +msgstr "" #: users/models.py:398 msgid "Permissions to edit items" -msgstr "Permissões para editar itens" +msgstr "" #: users/models.py:404 msgid "Permission to delete items" -msgstr "Permissão para excluir itens" +msgstr "" + diff --git a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po index 2bfb0db626..7407b6c0a4 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: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:50\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Language: ro_RO\n" @@ -66,8 +66,8 @@ msgstr "" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "" @@ -772,11 +768,11 @@ msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -1002,7 +998,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index 231223f9d0..3a1a5a3211 100644 --- a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-20 04:52\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -66,8 +66,8 @@ msgstr "Введите дату" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Описание" msgid "Description (optional)" msgstr "Описание (необязательно)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "родитель" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "ССЫЛКА файла изображения на удаленном msgid "Downloading images from remote URL is not enabled" msgstr "Загрузка изображений с удаленного URL-адреса не включена" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" @@ -772,11 +768,11 @@ msgstr "Заказ на производство, которому принад #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "Код статуса заказа на производство" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Код партии" @@ -1002,7 +998,7 @@ msgstr "Продукция не совпадает с заказом на про #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" @@ -1038,7 +1034,7 @@ msgstr "Объект производства" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "Выбранная складская позиция не соответ #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "Введите серийные номера для продукции" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "Автоматически зарезервировать необход msgid "Serial numbers must be provided for trackable parts" msgstr "Для отслеживаемых частей должны быть указаны серийные номера" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "Следующие серийные номера уже существуют или недействительны" @@ -1244,7 +1240,7 @@ msgstr "Место хранения для завершенной продукц #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "Позиция для производства" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part должна указывать на ту же часть, что и заказ на производство" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "Элемент должен быть в наличии" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "Не удалось запустить задачу автораспределения" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "Позиция BOM" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "Зарезервированные Запасы" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "Зарезервированные Запасы" msgid "On Order" msgstr "В заказе" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "В производстве" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "Пустой домен не допускается." -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Недопустимое доменное имя: {domain}" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Компания" @@ -3992,7 +3996,7 @@ msgstr "Выберите деталь" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "Выберите производителя" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "Поставщик" msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Код поставщика" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "Удалить компанию" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "Изображение детали" @@ -4259,7 +4263,7 @@ msgstr "Удалить изображение" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "Имя родителя" msgid "Category Path" msgstr "Путь к категории" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "Родительский IPN" msgid "Part IPN" msgstr "IPN детали" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Минимальная цена" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "Остатки произведенные заказом на производство" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "Остатки требуемые для заказов на производство" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "Корректный" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "Необходимо выбрать эту опцию" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "Категория" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "Место хранения по умолчанию" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Общий запас" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Подкатегории" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "Валюта закупки складской позиции" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "Не выбрана ни одна деталь" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "Выберите категорию" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "Оригинальная деталь" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "Копировать Изображение" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Скопировать BOM" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "Скопировать параметры" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "Копировать Записи" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "Скопировать записи из оригинальной детали" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Код производителя" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Начальный запас" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "Копировать шаблоны параметров из выбранной категории деталей" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "Существующее изображение" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "Исключить складские позиции в внешних местах хранения" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "Создать отчет" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "Обновить детали" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "Обновить" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "Некорректное количество" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "Метод" msgid "No author found" msgstr "Автор не найден" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "Тестирование" msgid "Result" msgstr "Результат" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "Прошел" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "Провален" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "Нет результата" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Установленные элементы" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "Древо Деталей" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Залежалый" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "Необходимо указать количество" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "Выберите соответствующего поставщика msgid "Where is this stock item located?" msgstr "Где находиться эта складская позиция?" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "Упаковка этой складской позиции хранится в" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "Код партии для этой складской позиции" @@ -9054,7 +9078,7 @@ msgstr "Складская позиция в производстве" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "Введите серийные номера для новых элементов" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "Выберите складские позиции для изменен msgid "No stock items selected" msgstr "Не выбрано ни одной складской позиции" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Места хранения" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "Элемент зарезервирован для заказа на производство" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "Покупатель для назначения складских позиций" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "Записи о назначенных запасах" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "Необходимо предоставить список складских позиций" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "Записи о слияниях запасов" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "Разрешить слияние складских позиций с различными поставщиками" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "Разрешить слияние складских позиций с различными статусами" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "Необходимо предоставить как минимум 2 складские позиции" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "Статус складской позиции" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "Записи о перемещениях запасов" @@ -9822,20 +9850,20 @@ msgstr "Создать новое место хранения" msgid "New Location" msgstr "Новое место хранения" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "места хранения" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "Форма содержит ошибки" msgid "No results found" msgstr "Результаты не найдены" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "Поиск" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "Очистить ввод" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "Столбец Файла" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "Имя Поля" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "Выбрать столбцы" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "Добавить категорию детали" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "Разрешение на редактирование элементо #: users/models.py:404 msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" + diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index 5852007c00..0014bae02e 100644 --- a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:50\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -66,8 +66,8 @@ msgstr "" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "" @@ -772,11 +768,11 @@ msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -1002,7 +998,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index 6ca8d3598d..222b064fcd 100644 --- a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:50\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -66,8 +66,8 @@ msgstr "Vnesi datum" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Opis" msgid "Description (optional)" msgstr "Opis (opcijsko)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "nadrejen" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "Povezava do oddaljene slike" msgid "Downloading images from remote URL is not enabled" msgstr "Prenos slik iz oddaljene povezave ni omogočen" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "Nadzor dela v ozadju neuspel" @@ -772,11 +768,11 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "Koda statusa izgradnje" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Številka serije" @@ -1002,7 +998,7 @@ msgstr "Izgradnja se ne ujema s nalogom izdelave" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index e76844005f..d0cdbc1259 100644 --- a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:50\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:05\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -66,8 +66,8 @@ msgstr "Unesite datum" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Opis" msgid "Description (optional)" msgstr "Opis (Opciono)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "nadređeni" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "URL udaljene slike" msgid "Downloading images from remote URL is not enabled" msgstr "Preuzimanje slika s udaljenog URL-a nije omogućeno" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "Provera pozadinskog radnika nije uspjela" @@ -772,11 +768,11 @@ msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -1002,7 +998,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index 1bb0d771b9..7623cdf051 100644 --- a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:50\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -66,8 +66,8 @@ msgstr "Ange datum" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Beskrivning" msgid "Description (optional)" msgstr "Beskrivning (valfritt)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "överordnad" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "URL för fjärrbildsfil" msgid "Downloading images from remote URL is not enabled" msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" @@ -772,11 +768,11 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "Bygg statuskod" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchkod" @@ -1002,7 +998,7 @@ msgstr "Byggutgång matchar inte bygg order" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ogiltigt domännamn: {domain}" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Företag" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "Leverantör" msgid "Select supplier" msgstr "Välj leverantör" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "Radera företag" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "Radera bild" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "Kategori" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Underkategorier" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "Välj kategori" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "Kopiera bild" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "Generera rapport" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "Uppdatera" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "Inga resultat hittades" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "Söker" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index b11ff43693..7892a43be6 100644 --- a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:50\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:05\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -66,8 +66,8 @@ msgstr "ป้อนวันที่" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "คำอธิบาย" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "" @@ -772,11 +768,11 @@ msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -1002,7 +998,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "จำนวนต้องมีค่ามากกว่า 0" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index 50f19f65e7..c49f650e8b 100644 --- a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:50\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -66,8 +66,8 @@ msgstr "Tarih giriniz" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Açıklama" msgid "Description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "üst" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "Uzaktan görüntü dosya URL'si" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" @@ -772,11 +768,11 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "Yapım işi durum kodu" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Sıra numarası" @@ -1002,7 +998,7 @@ msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "Yapım işi çıktısı için seri numaraları girin" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "Parça seçin" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "Üretici seçin" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "Tedarikçi" msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "Varsayılan Konum" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Alt kategoriler" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "Bu stok kalemi için tedarikçi parçası seçin" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alt konumlar" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "Yeni stok konumu oluştur" msgid "New Location" msgstr "Yeni Konum" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "Parçaları düzenleme izni" #: users/models.py:404 msgid "Permission to delete items" msgstr "Parçaları silme izni" + diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po index 40256ec885..20a2d48881 100644 --- a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:50\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -66,8 +66,8 @@ msgstr "" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "" @@ -772,11 +768,11 @@ msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" @@ -1002,7 +998,7 @@ msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "" @@ -1038,7 +1034,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "" msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1244,7 +1240,7 @@ msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,7 +8969,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,78 +9304,82 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index 8b4926a72e..f308c98d48 100644 --- a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-19 04:50\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -66,8 +66,8 @@ msgstr "Nhập ngày" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -464,10 +464,6 @@ msgstr "Mô tả" msgid "Description (optional)" msgstr "Mô tả (tùy chọn)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "thư mục cha" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -598,7 +594,7 @@ msgstr "URL của tệp hình ảnh bên ngoài" msgid "Downloading images from remote URL is not enabled" msgstr "Chức năng tải hình ảnh từ URL bên ngoài không được bật" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "Nhân công chạy ngầm kiểm tra thất bại" @@ -772,11 +768,11 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -875,7 +871,7 @@ msgid "Build status code" msgstr "Mã trạng thái bản dựng" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Mã lô hàng" @@ -1002,7 +998,7 @@ msgstr "Đầu ra bản dựng không phù hợp với đơn đặt bản dựng #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "Số lượng phải lớn hơn 0" @@ -1038,7 +1034,7 @@ msgstr "Dựng đối tượng" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1102,7 +1098,7 @@ msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,9 +1175,9 @@ msgstr "Nhập vào số sêri cho đầu ra bản dựng" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1213,7 +1209,7 @@ msgstr "Tự động cấp số seri phù hợp cho hàng hóa được yêu c msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "Số sêri sau đây đã tồn tại hoặc không hợp lệ" @@ -1244,7 +1240,7 @@ msgstr "Vị trí cho đầu ra bản dựng hoàn thiện" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1352,7 +1348,7 @@ msgstr "Mục chi tiết bản dựng" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part phải trỏ đến phần tương tự của đơn đặt bản dựng" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "Hàng hóa phải trong kho" @@ -1414,7 +1410,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "Mục BOM" @@ -1423,7 +1419,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1431,13 +1427,13 @@ msgstr "" msgid "On Order" msgstr "Bật đơn hàng" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Đang sản xuất" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3722,19 +3718,27 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "Tên miền rỗng là không được phép." -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Tên miền không hợp lệ: {domain}" @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Doanh nghiêp" @@ -3992,7 +3996,7 @@ msgstr "Chọn sản phẩm" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "Chọn nhà sản xuất" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu vớ #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "Nhà cung cấp" msgid "Select supplier" msgstr "Chọn nhà cung cấp" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Đơn vị quản lý kho nhà cung cấp" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Thu phí tối thiểu (vd: phí kho bãi)" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "Xóa doanh nghiệp" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "Ảnh sản phẩm" @@ -4259,7 +4263,7 @@ msgstr "Xóa ảnh" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4470,7 +4474,7 @@ msgstr "Chưa có thông tin nhà sản xuất" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "Chưa có thông tin nhà cung cấp" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "Cập nhật độ sẵn sàng sản phẩm" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -5879,8 +5883,8 @@ msgstr "Tên cha" msgid "Category Path" msgstr "Đưỡng dẫn danh mục" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5907,13 +5911,13 @@ msgstr "IPN cha" msgid "Part IPN" msgstr "IPN sản phẩm" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Giá thấp nhất" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "Đơn đặt mua vào" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "Đơn hàng bán ra" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "Kho sản xuất bởi Đơn đặt bản dựng" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "Kho được yêu cầu cho đơn đặt bản dựng" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "Hợp lệ" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "Xác minh toàn bộ hóa đơn vật liệu" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "Tùy chọn này phải được chọn" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "Danh mục" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "Điểm bán mặc định" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Tổng số lượng" @@ -6735,323 +6747,331 @@ msgstr "Không thể tạo mối quan hệ giữa một sản phẩm và chính msgid "Duplicate relationship already exists" msgstr "Đã tồn tại mối quan hệ trùng lặp" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Phụ mục" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "Loại tiền mua hàng của hàng hóa này" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "Chưa chọn sản phẩm" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "Chọn danh mục" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "Sản phẩm gốc" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "Chọn sản phẩm gốc để nhân bản" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "Sao chép ảnh" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "Sao chép hình ảnh từ sản phẩm gốc" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Sao chép BOM" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "Sao chép định mức nguyên vật liệu từ sản phẩm gốc" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "Sao chép thông tin tham số từ sản phẩm gốc" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "Sao chép ghi chú" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "Sao chép ghi chú từ sản phẩm gốc" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Số liệu tồn kho ban đầu" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Chỉ ra số lượng tồn kho ban đầu cho sản phẩm. Nếu điền là không, không thêm kho nào." -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Vị trí kho ban đầu" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Chỉ định vị trí kho ban đầu cho sản phẩm này" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Chọn nhà cung cấp (hoặc để trống để bỏ qua)" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Chọn nhà sản xuất (hoặc để trống để bỏ qua)" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Mã số nhà sản xuất" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "Công ty đã chọn không phải là nhà cung ứng hợp lệ" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "Công ty đã chọn không phải là nhà sản xuất hợp lệ" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "Mã số nhà sản xuất khớp với MPN này đã tồn tại" -#: part/serializers.py:562 +#: part/serializers.py:570 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:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "Nhân bản sản phẩm" -#: part/serializers.py:862 +#: part/serializers.py:870 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:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Số liệu kho ban đầu" -#: part/serializers.py:869 +#: part/serializers.py:877 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:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "Thông tin nhà cung cấp" -#: part/serializers.py:876 +#: part/serializers.py:884 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:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:885 +#: part/serializers.py:893 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:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "Ảnh hiện có" -#: part/serializers.py:891 +#: part/serializers.py:899 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:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "Tệp hình ảnh không tồn tại" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Hạn chế báo cáo kiểm kê với sản phẩm riêng biệt và sản phẩm biến thể bất kỳ" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Hạn chế báo cáo kiểm kê với danh mục sản phẩm riêng biệt và danh mục con bất kỳ" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Hạn chế báo cáo kiểm kê với vị trí kho riêng biệt và vị trí con bất kỳ" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "Ngoại trừ kho bên ngoài" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "Loại trừ hàng trong kho của vị trí bên ngoài" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "Tạo báo cáo" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "Tạo tệp báo cáo chứa dữ liệu kiểm kê đã tính toán" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "Cập nhật sản phẩm" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "Cập nhật sản phẩm cụ thể với dữ liệu kiểm kê đã tính" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "Chức năng kiểm kê chưa được bật" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "Giá trị tính toán ghi đè cho giá tối thiểu" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "Tiền tế giá tối thiểu" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "Giá trị tính toán ghi đè cho giá tối đa" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "Tiền tế giá tối đa" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "Cập nhật" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "Cập nhật giá cho sản phẩm này" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, 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:1349 +#: part/serializers.py:1357 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:1352 +#: part/serializers.py:1360 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:1719 +#: part/serializers.py:1727 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:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "Xóa dữ liệu đã tồn tại" -#: part/serializers.py:1728 +#: part/serializers.py:1736 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:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "Bao gồm thừa hưởng" -#: part/serializers.py:1734 +#: part/serializers.py:1742 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:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "Bỏ qua dòng không hợp lệ" -#: part/serializers.py:1740 +#: part/serializers.py:1748 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:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "Sao chép sản phẩm thay thế" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "Sao chép sản phẩm thay thế khi nhân bản hàng hóa BOM" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "Dọn dẹp BOM đang tồn tại" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "Xóa mục BOM đang tồn tại trước khi tải lên" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "Chưa chỉ ra cột sản phẩm" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "Tìm thấy nhiều sản phẩm phù hợp" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "Không tìm thấy sản phẩm nào" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "Sản phẩm không được chỉ định như là một thành phần" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "Chưa cung cấp số lượng" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "Số lượng không hợp lệ" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "Buộc phải nhập ít nhất một mục BOM" @@ -8231,17 +8251,17 @@ msgstr "Phương thức" msgid "No author found" msgstr "Không tìm thấy tác giả" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Phần bổ sung '{p}' không tương thích với phiên bản InvenTree hiện tại {v}" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Phần bổ sung yêu cầu ít nhất phiên bản {v}" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Phần bổ sung yêu cầu tối đa phiên bản {v}" @@ -8653,28 +8673,28 @@ msgstr "Thử nghiệm" msgid "Result" msgstr "Kết quả" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "Đạt" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "Không đạt" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "Không có kết quả (bắt buộc)" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "Không có kết quả" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Mục đã cài đặt" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Địa điểm bên ngoài" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "Cây sản phẩm" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "Ngày hết hạn trước đó" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "Ngày hết hạn sau đó" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Ế" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "Bắt buộc nhập số lượng" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "Phải cung cấp sản phẩm hợp lệ" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "Sản phẩm nhà cung cấp đã đưa không tồn tại" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Sản phẩm nhà cung cấp có kích thước đóng gói được định nghĩa nhưng cờ use_pack_size chưa được thiết lập" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Số sê-ri không thê được cung cấp cho sản phẩm không thể theo dõi" @@ -8933,7 +8957,7 @@ msgstr "Chọn sản phẩm nhà cung cấp khớp với hàng hóa trong kho n msgid "Where is this stock item located?" msgstr "Hàng trong kho này được đặt ở đâu?" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "Đóng gói hàng hóa này được lưu trữ lại" @@ -8945,7 +8969,7 @@ msgstr "Mục này đã được cài đặt trong mục khác?" msgid "Serial number for this item" msgstr "Số sê ri cho mục này" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "Mã lô cho hàng trong kho này" @@ -9054,7 +9078,7 @@ msgstr "Hàng trong kho hiện đang sản xuất" msgid "Serialized stock cannot be merged" msgstr "Không thể hợp nhất kho nối tiếp" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "Mặt hàng trùng lặp" @@ -9207,7 +9231,7 @@ msgstr "Số lượng phải không vượt quá số lượng trong kho đang c msgid "Enter serial numbers for new items" msgstr "Điền số sêri cho hàng hóa mới" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "Vị trí kho đích" @@ -9280,78 +9304,82 @@ msgstr "Chọn mặt hàng để đổi trạng thái" msgid "No stock items selected" msgstr "Không có mặt hàng nào được chọn" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Kho phụ" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "Sản phẩm phải có thể bán được" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "Hàng hóa được phân bổ đến một đơn hàng bán" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "Hàng hóa được phân bổ đến một đơn đặt bản dựng" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "Khách hàng được gán vào các mặt hàng" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "Công ty đã chọn không phải là khách hàng" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "Ghi chú phân bổ kho" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "Phải cung cấp danh sách mặt hàng" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "Ghi chú gộp kho" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "Cho phép nhiều nhà cung không khớp" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "Cho phép mặt hàng cùng sản phẩm nhà cung cấp khác phải được gộp" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "Cho phép trạng thái không khớp" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "Cho phép mặt hàng với mã trạng thái khác nhau để gộp lại" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "Cần cung cấp ít nhất hai mặt hàng" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "Giá trị khóa chính mặt hàng" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "Mã trạng thái mặt hàng" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "Ghi chú giao dịch kho" @@ -9822,20 +9850,20 @@ msgstr "Tạo mới vị trí kho" msgid "New Location" msgstr "Vị trí mới" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12158,23 +12186,23 @@ msgstr "Lỗi biểu mẫu tồn tại" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -14398,3 +14418,4 @@ msgstr "Quyển để sửa mục" #: users/models.py:404 msgid "Permission to delete items" msgstr "Quyền để xóa mục" + diff --git a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po index df33f4aba8..786fe8f7fa 100644 --- a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,59 +2,59 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" -"PO-Revision-Date: 2024-06-20 04:52\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" +"PO-Revision-Date: 2024-06-26 06:04\n" "Last-Translator: \n" -"Language-Team: Chinese Simplified\n" -"Language: zh_CN\n" +"Language-Team: Chinese Traditional\n" +"Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" -"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-Language: zh-TW\n" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" #: InvenTree/api.py:272 msgid "API endpoint not found" -msgstr "未找到 API 端点" +msgstr "" #: InvenTree/api.py:520 msgid "User does not have permission to view this model" -msgstr "用户没有权限查阅当前模型。" +msgstr "" #: InvenTree/conversion.py:160 #, python-brace-format msgid "Invalid unit provided ({unit})" -msgstr "提供了无效的单位 ({unit})" +msgstr "" #: InvenTree/conversion.py:177 msgid "No value provided" -msgstr "没有提供数值" +msgstr "" #: InvenTree/conversion.py:204 #, python-brace-format msgid "Could not convert {original} to {unit}" -msgstr "不能将 {original} 转换到 {unit}" +msgstr "" #: InvenTree/conversion.py:206 msgid "Invalid quantity supplied" -msgstr "提供的数量无效" +msgstr "" #: InvenTree/conversion.py:220 #, python-brace-format msgid "Invalid quantity supplied ({exc})" -msgstr "提供的数量无效 ({exc})" +msgstr "" #: InvenTree/exceptions.py:109 msgid "Error details can be found in the admin panel" -msgstr "在管理面板中可以找到错误详细信息" +msgstr "" #: InvenTree/fields.py:136 msgid "Enter date" -msgstr "输入日期" +msgstr "" #: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 #: build/serializers.py:530 build/templates/build/sidebar.html:21 @@ -66,8 +66,8 @@ msgstr "输入日期" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -77,223 +77,223 @@ msgstr "输入日期" #: templates/js/translated/sales_order.js:2018 #: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" -msgstr "备注" +msgstr "" #: InvenTree/format.py:164 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" -msgstr "值' {name}' 未出现在模式格式中" +msgstr "" #: InvenTree/format.py:175 msgid "Provided value does not match required pattern: " -msgstr "提供的值与所需模式不匹配:" +msgstr "" #: InvenTree/forms.py:128 msgid "Enter password" -msgstr "输入密码" +msgstr "" #: InvenTree/forms.py:129 msgid "Enter new password" -msgstr "输入新密码" +msgstr "" #: InvenTree/forms.py:138 msgid "Confirm password" -msgstr "确认密码" +msgstr "" #: InvenTree/forms.py:139 msgid "Confirm new password" -msgstr "确认新密码" +msgstr "" #: InvenTree/forms.py:143 msgid "Old password" -msgstr "旧密码" +msgstr "" #: InvenTree/forms.py:182 msgid "Email (again)" -msgstr "电子邮件 (重复)" +msgstr "" #: InvenTree/forms.py:186 msgid "Email address confirmation" -msgstr "邮箱地址已确认" +msgstr "" #: InvenTree/forms.py:209 msgid "You must type the same email each time." -msgstr "您必须每次输入相同的电子邮件。" +msgstr "" #: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." -msgstr "提供的主电子邮件地址无效。" +msgstr "" #: InvenTree/forms.py:263 msgid "The provided email domain is not approved." -msgstr "提供的邮箱域名未被批准。" +msgstr "" #: InvenTree/forms.py:390 msgid "Registration is disabled." -msgstr "注册已禁用。" +msgstr "" #: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 msgid "Invalid quantity provided" -msgstr "提供的数量无效" +msgstr "" #: InvenTree/helpers.py:533 msgid "Empty serial number string" -msgstr "序號為空白" +msgstr "" #: InvenTree/helpers.py:562 msgid "Duplicate serial" -msgstr "复制序列号" +msgstr "" #: InvenTree/helpers.py:594 InvenTree/helpers.py:637 #, python-brace-format msgid "Invalid group range: {group}" -msgstr "无效的组范围: {group}" +msgstr "" #: InvenTree/helpers.py:625 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" -msgstr "组范围 {group} 超出了允许的数量 ({expected_quantity})" +msgstr "" #: InvenTree/helpers.py:655 InvenTree/helpers.py:662 InvenTree/helpers.py:681 #, python-brace-format msgid "Invalid group sequence: {group}" -msgstr "无效的组序列: {group}" +msgstr "" #: InvenTree/helpers.py:691 msgid "No serial numbers found" -msgstr "未找到序列号" +msgstr "" #: InvenTree/helpers.py:696 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" -msgstr "唯一序列号的数量 ({len(serials)}) 必须与数量匹配 ({expected_quantity})" +msgstr "" #: InvenTree/helpers.py:814 msgid "Remove HTML tags from this value" -msgstr "从这个值中删除 HTML 标签" +msgstr "" #: InvenTree/helpers_model.py:140 msgid "Connection error" -msgstr "连接错误" +msgstr "" #: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" -msgstr "服务器响应状态码无效" +msgstr "" #: InvenTree/helpers_model.py:148 msgid "Exception occurred" -msgstr "发生异常" +msgstr "" #: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" -msgstr "服务器响应的内容长度值无效" +msgstr "" #: InvenTree/helpers_model.py:161 msgid "Image size is too large" -msgstr "图片尺寸过大" +msgstr "" #: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" -msgstr "图片下载超出最大尺寸" +msgstr "" #: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" -msgstr "远程服务器返回了空响应" +msgstr "" #: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" -msgstr "提供的 URL 不是一个有效的图片文件" +msgstr "" #: InvenTree/locales.py:18 msgid "Bulgarian" -msgstr "Bulgarian" +msgstr "" #: InvenTree/locales.py:19 msgid "Czech" -msgstr "Czech" +msgstr "" #: InvenTree/locales.py:20 msgid "Danish" -msgstr "Danish" +msgstr "" #: InvenTree/locales.py:21 msgid "German" -msgstr "German" +msgstr "" #: InvenTree/locales.py:22 msgid "Greek" -msgstr "Greek" +msgstr "" #: InvenTree/locales.py:23 msgid "English" -msgstr "English" +msgstr "" #: InvenTree/locales.py:24 msgid "Spanish" -msgstr "Spanish" +msgstr "" #: InvenTree/locales.py:25 msgid "Spanish (Mexican)" -msgstr "Spanish (Mexican)" +msgstr "" #: InvenTree/locales.py:26 msgid "Farsi / Persian" -msgstr "Farsi / Persian" +msgstr "" #: InvenTree/locales.py:27 msgid "Finnish" -msgstr "Finnish" +msgstr "" #: InvenTree/locales.py:28 msgid "French" -msgstr "French" +msgstr "" #: InvenTree/locales.py:29 msgid "Hebrew" -msgstr "Hebrew" +msgstr "" #: InvenTree/locales.py:30 msgid "Hindi" -msgstr "Hindi" +msgstr "" #: InvenTree/locales.py:31 msgid "Hungarian" -msgstr "Hungarian" +msgstr "" #: InvenTree/locales.py:32 msgid "Italian" -msgstr "Italian" +msgstr "" #: InvenTree/locales.py:33 msgid "Japanese" -msgstr "Japanese" +msgstr "" #: InvenTree/locales.py:34 msgid "Korean" -msgstr "Korean" +msgstr "" #: InvenTree/locales.py:35 msgid "Latvian" -msgstr "Latvian" +msgstr "" #: InvenTree/locales.py:36 msgid "Dutch" -msgstr "Dutch" +msgstr "" #: InvenTree/locales.py:37 msgid "Norwegian" -msgstr "Norwegian" +msgstr "" #: InvenTree/locales.py:38 msgid "Polish" -msgstr "Polish" +msgstr "" #: InvenTree/locales.py:39 msgid "Portuguese" -msgstr "Portuguese" +msgstr "" #: InvenTree/locales.py:40 msgid "Portuguese (Brazilian)" -msgstr "Portuguese (Brazilian)" +msgstr "" #: InvenTree/locales.py:41 msgid "Romanian" @@ -301,107 +301,107 @@ msgstr "" #: InvenTree/locales.py:42 msgid "Russian" -msgstr "Russian" +msgstr "" #: InvenTree/locales.py:43 msgid "Slovak" -msgstr "Slovak" +msgstr "" #: InvenTree/locales.py:44 msgid "Slovenian" -msgstr "Slovenian" +msgstr "" #: InvenTree/locales.py:45 msgid "Serbian" -msgstr "Serbian" +msgstr "" #: InvenTree/locales.py:46 msgid "Swedish" -msgstr "Swedish" +msgstr "" #: InvenTree/locales.py:47 msgid "Thai" -msgstr "Thai" +msgstr "" #: InvenTree/locales.py:48 msgid "Turkish" -msgstr "Turkish" +msgstr "" #: InvenTree/locales.py:49 msgid "Ukrainian" -msgstr "乌克兰语" +msgstr "" #: InvenTree/locales.py:50 msgid "Vietnamese" -msgstr "Vietnamese" +msgstr "" #: InvenTree/locales.py:51 msgid "Chinese (Simplified)" -msgstr "中文 (简体)" +msgstr "" #: InvenTree/locales.py:52 msgid "Chinese (Traditional)" -msgstr "中文 (繁体)" +msgstr "" #: InvenTree/magic_login.py:28 #, python-brace-format msgid "[{site_name}] Log in to the app" -msgstr "[{site_name}] 登录到应用程序" +msgstr "" #: InvenTree/magic_login.py:38 company/models.py:136 #: company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" -msgstr "电子邮件" +msgstr "" #: InvenTree/models.py:105 msgid "Error running plugin validation" -msgstr "驗證外掛程式時發生錯誤" +msgstr "" #: InvenTree/models.py:174 msgid "Metadata must be a python dict object" -msgstr "Metadata必須是一個Python Dictionary物件" +msgstr "" #: InvenTree/models.py:180 msgid "Plugin Metadata" -msgstr "外掛程式Metadata" +msgstr "" #: InvenTree/models.py:181 msgid "JSON metadata field, for use by external plugins" -msgstr "外掛程式使用的JSON Metadata欄位" +msgstr "" #: InvenTree/models.py:408 msgid "Improperly formatted pattern" -msgstr "格式錯誤" +msgstr "" #: InvenTree/models.py:415 msgid "Unknown format key specified" -msgstr "指定了不明的格式鍵值" +msgstr "" #: InvenTree/models.py:421 msgid "Missing required format key" -msgstr "缺少必須的格式鍵值" +msgstr "" #: InvenTree/models.py:432 msgid "Reference field cannot be empty" -msgstr "參考欄位不能空白" +msgstr "" #: InvenTree/models.py:440 msgid "Reference must match required pattern" -msgstr "參考欄位並須符合格式" +msgstr "" #: InvenTree/models.py:471 msgid "Reference number is too large" -msgstr "參考編號過大" +msgstr "" #: InvenTree/models.py:719 msgid "Duplicate names cannot exist under the same parent" -msgstr "同一個上層元件下不能有重複的名字" +msgstr "" #: InvenTree/models.py:736 msgid "Invalid choice" -msgstr "無效的選項" +msgstr "" #: InvenTree/models.py:766 common/models.py:2623 common/models.py:3036 #: common/serializers.py:408 company/models.py:580 machine/models.py:24 @@ -421,7 +421,7 @@ msgstr "無效的選項" #: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 #: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 msgid "Name" -msgstr "名稱" +msgstr "" #: InvenTree/models.py:772 build/models.py:220 #: build/templates/build/detail.html:24 common/models.py:138 @@ -458,216 +458,212 @@ msgstr "名稱" #: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 #: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" -msgstr "描述" +msgstr "" #: InvenTree/models.py:773 stock/models.py:80 msgid "Description (optional)" -msgstr "描述(選填)" - -#: InvenTree/models.py:782 -msgid "parent" -msgstr "上層元素" +msgstr "" #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" -msgstr "路徑" +msgstr "" #: InvenTree/models.py:918 msgid "Markdown notes (optional)" -msgstr "Markdown 註記(選填)" +msgstr "" #: InvenTree/models.py:947 msgid "Barcode Data" -msgstr "條碼資料" +msgstr "" #: InvenTree/models.py:948 msgid "Third party barcode data" -msgstr "第三方條碼資料" +msgstr "" #: InvenTree/models.py:954 msgid "Barcode Hash" -msgstr "條碼雜湊值" +msgstr "" #: InvenTree/models.py:955 msgid "Unique hash of barcode data" -msgstr "條碼資料的唯一雜湊值" +msgstr "" #: InvenTree/models.py:1008 msgid "Existing barcode found" -msgstr "發現現有條碼" +msgstr "" #: InvenTree/models.py:1051 msgid "Server Error" -msgstr "伺服器錯誤" +msgstr "" #: InvenTree/models.py:1052 msgid "An error has been logged by the server." -msgstr "伺服器紀錄了一個錯誤。" +msgstr "" #: InvenTree/serializers.py:63 part/models.py:4192 msgid "Must be a valid number" -msgstr "必須是有效的數字" +msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 #: company/templates/company/company_base.html:112 part/models.py:3001 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" -msgstr "貨幣" +msgstr "" #: InvenTree/serializers.py:103 msgid "Select currency from available options" -msgstr "從可用選項中選擇貨幣" +msgstr "" #: InvenTree/serializers.py:442 msgid "You do not have permission to change this user role." -msgstr "您沒有更改這個使用者角色的權限" +msgstr "" #: InvenTree/serializers.py:454 msgid "Only superusers can create new users" -msgstr "只有管理員帳戶可以建立新的使用者" +msgstr "" #: InvenTree/serializers.py:473 msgid "Your account has been created." -msgstr "您的帳號已經建立完成。" +msgstr "" #: InvenTree/serializers.py:475 msgid "Please use the password reset function to login" -msgstr "請使用重設密碼功能來登入" +msgstr "" #: InvenTree/serializers.py:482 msgid "Welcome to InvenTree" -msgstr "歡迎使用 InvenTree" +msgstr "" #: InvenTree/serializers.py:540 msgid "Invalid value" -msgstr "无效值" +msgstr "" #: InvenTree/serializers.py:560 msgid "Data File" -msgstr "数据文件" +msgstr "" #: InvenTree/serializers.py:561 msgid "Select data file for upload" -msgstr "选择要上传的数据文件" +msgstr "" #: InvenTree/serializers.py:578 msgid "Unsupported file type" -msgstr "不支持的文件类型" +msgstr "" #: InvenTree/serializers.py:584 msgid "File is too large" -msgstr "文件过大" +msgstr "" #: InvenTree/serializers.py:605 msgid "No columns found in file" -msgstr "在文件中没有找到列" +msgstr "" #: InvenTree/serializers.py:608 msgid "No data rows found in file" -msgstr "在文件中没有找到数据行" +msgstr "" #: InvenTree/serializers.py:721 msgid "No data rows provided" -msgstr "没有提供数据行" +msgstr "" #: InvenTree/serializers.py:724 msgid "No data columns supplied" -msgstr "没有提供数据列" +msgstr "" #: InvenTree/serializers.py:791 #, python-brace-format msgid "Missing required column: '{name}'" -msgstr "缺少必需的列:'{name}'" +msgstr "" #: InvenTree/serializers.py:800 #, python-brace-format msgid "Duplicate column: '{col}'" -msgstr "重复列: '{col}'" +msgstr "" #: InvenTree/serializers.py:840 msgid "Remote Image" -msgstr "远程图片" +msgstr "" #: InvenTree/serializers.py:841 msgid "URL of remote image file" -msgstr "远程图片文件的 URL" +msgstr "" #: InvenTree/serializers.py:859 msgid "Downloading images from remote URL is not enabled" -msgstr "未启用从远程 URL下载图片" +msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" -msgstr "后台执行器检查失败" +msgstr "" #: InvenTree/status.py:70 msgid "Email backend not configured" -msgstr "未配置电子邮件后端" +msgstr "" #: InvenTree/status.py:73 msgid "InvenTree system health checks failed" -msgstr "InventTree 系统健康检查失败" +msgstr "" #: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" -msgstr "未知的資料庫" +msgstr "" #: InvenTree/validators.py:32 InvenTree/validators.py:34 msgid "Invalid physical unit" -msgstr "無效的物理單位" +msgstr "" #: InvenTree/validators.py:40 msgid "Not a valid currency code" -msgstr "無效的貨幣代碼" +msgstr "" #: InvenTree/validators.py:118 InvenTree/validators.py:134 msgid "Overage value must not be negative" -msgstr "損失值不能為負" +msgstr "" #: InvenTree/validators.py:136 msgid "Overage must not exceed 100%" -msgstr "損失率不能超過100%" +msgstr "" #: InvenTree/validators.py:142 msgid "Invalid value for overage" -msgstr "無效的損失值" +msgstr "" #: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" -msgstr "編輯使用者資訊" +msgstr "" #: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 msgid "Set Password" -msgstr "設定密碼" +msgstr "" #: InvenTree/views.py:434 msgid "Password fields must match" -msgstr "密碼必須相符" +msgstr "" #: InvenTree/views.py:442 msgid "Wrong password provided" -msgstr "密碼錯誤" +msgstr "" #: InvenTree/views.py:650 templates/navbar.html:160 msgid "System Information" -msgstr "系統資訊" +msgstr "" #: InvenTree/views.py:657 templates/navbar.html:171 msgid "About InvenTree" -msgstr "關於InvenTree" +msgstr "" #: build/api.py:255 msgid "Build must be cancelled before it can be deleted" -msgstr "工單必須被取消才能被刪除" +msgstr "" #: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" -msgstr "耗材" +msgstr "" #: build/api.py:300 part/models.py:4064 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 @@ -676,19 +672,19 @@ msgstr "耗材" #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" -msgstr "非必須項目" +msgstr "" #: build/api.py:301 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" -msgstr "追蹤中" +msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" -msgstr "已分配" +msgstr "" #: build/api.py:311 company/models.py:872 company/serializers.py:359 #: company/templates/company/supplier_part.html:114 @@ -702,7 +698,7 @@ msgstr "已分配" #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" -msgstr "可用數量" +msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 @@ -711,7 +707,7 @@ msgstr "可用數量" #: templates/email/overdue_build_order.html:15 #: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" -msgstr "生產工單" +msgstr "" #: build/models.py:86 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 @@ -722,23 +718,23 @@ msgstr "生產工單" #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:186 users/models.py:207 msgid "Build Orders" -msgstr "生產工單" +msgstr "" #: build/models.py:133 msgid "Invalid choice for parent build" -msgstr "無效的上層生產工單選擇" +msgstr "" #: build/models.py:144 order/models.py:240 msgid "Responsible user or group must be specified" -msgstr "必须指定负责的用户或组" +msgstr "" #: build/models.py:150 msgid "Build order part cannot be changed" -msgstr "無法更改生產工單" +msgstr "" #: build/models.py:211 msgid "Build Order Reference" -msgstr "生產工單代號" +msgstr "" #: build/models.py:212 order/models.py:463 order/models.py:926 #: order/models.py:1289 order/models.py:2020 part/admin.py:411 @@ -754,29 +750,29 @@ msgstr "生產工單代號" #: templates/js/translated/return_order.js:728 #: templates/js/translated/sales_order.js:1854 msgid "Reference" -msgstr "參考代號" +msgstr "" #: build/models.py:223 msgid "Brief description of the build (optional)" -msgstr "關於生產工單的簡單說明(選填)" +msgstr "" #: build/models.py:231 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" -msgstr "上層生產工單" +msgstr "" #: build/models.py:232 msgid "BuildOrder to which this build is allocated" -msgstr "這張生產工單對應的上層生產工單" +msgstr "" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -818,103 +814,103 @@ msgstr "這張生產工單對應的上層生產工單" #: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 #: templates/js/translated/stock.js:3236 msgid "Part" -msgstr "零件" +msgstr "" #: build/models.py:245 msgid "Select part to build" -msgstr "選擇要生產的零件" +msgstr "" #: build/models.py:250 msgid "Sales Order Reference" -msgstr "銷售訂單代號" +msgstr "" #: build/models.py:254 msgid "SalesOrder to which this build is allocated" -msgstr "這張生產工單對應的銷售訂單" +msgstr "" #: build/models.py:259 build/serializers.py:999 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" -msgstr "來源倉儲地點" +msgstr "" #: build/models.py:263 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" -msgstr "選擇領取料件的倉儲地點(留白表示可以從任何地點領取)" +msgstr "" #: build/models.py:268 msgid "Destination Location" -msgstr "目標倉儲地點" +msgstr "" #: build/models.py:272 msgid "Select location where the completed items will be stored" -msgstr "选择已完成项目库存地点" +msgstr "" #: build/models.py:276 msgid "Build Quantity" -msgstr "生产数量" +msgstr "" #: build/models.py:279 msgid "Number of stock items to build" -msgstr "要生产的项目数量" +msgstr "" #: build/models.py:283 msgid "Completed items" -msgstr "已完成项目" +msgstr "" #: build/models.py:285 msgid "Number of stock items which have been completed" -msgstr "已經完成的庫存品數量" +msgstr "" #: build/models.py:289 msgid "Build Status" -msgstr "生產狀態" +msgstr "" #: build/models.py:293 msgid "Build status code" -msgstr "生產狀態代碼" +msgstr "" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" -msgstr "批号" +msgstr "" #: build/models.py:306 build/serializers.py:287 msgid "Batch code for this build output" -msgstr "此产出的批号" +msgstr "" #: build/models.py:309 order/models.py:316 order/serializers.py:119 #: part/models.py:1115 part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" -msgstr "建立日期" +msgstr "" #: build/models.py:313 msgid "Target completion date" -msgstr "目標完成日期" +msgstr "" #: build/models.py:314 msgid "Target date for build completion. Build will be overdue after this date." -msgstr "生產的預計完成日期。若超過此日期則工單會逾期。" +msgstr "" #: build/models.py:317 order/models.py:521 order/models.py:2065 #: templates/js/translated/build.js:2247 msgid "Completion Date" -msgstr "完成日期" +msgstr "" #: build/models.py:323 msgid "completed by" -msgstr "完成者" +msgstr "" #: build/models.py:331 templates/js/translated/build.js:2207 msgid "Issued by" -msgstr "發布者" +msgstr "" #: build/models.py:332 msgid "User who issued this build order" -msgstr "發布此生產工單的使用者" +msgstr "" #: build/models.py:340 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:147 @@ -929,11 +925,11 @@ msgstr "發布此生產工單的使用者" #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" -msgstr "負責人" +msgstr "" #: build/models.py:341 msgid "User or group responsible for this build order" -msgstr "負責此生產工單的使用者或群組" +msgstr "" #: build/models.py:346 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -945,20 +941,20 @@ msgstr "負責此生產工單的使用者或群組" #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" -msgstr "外部連結" +msgstr "" #: build/models.py:347 common/models.py:3178 part/models.py:956 #: stock/models.py:834 msgid "Link to external URL" -msgstr "外部URL連結" +msgstr "" #: build/models.py:351 msgid "Build Priority" -msgstr "製造優先度" +msgstr "" #: build/models.py:354 msgid "Priority of this build order" -msgstr "此生產工單的優先程度" +msgstr "" #: build/models.py:361 common/models.py:131 order/admin.py:18 #: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 @@ -969,52 +965,52 @@ msgstr "此生產工單的優先程度" #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" -msgstr "專案代碼" +msgstr "" #: build/models.py:362 msgid "Project code for this build order" -msgstr "此生產工單隸屬的專案代碼" +msgstr "" #: build/models.py:595 build/models.py:660 msgid "Failed to offload task to complete build allocations" -msgstr "未能卸载任务以完成生产分配" +msgstr "" #: build/models.py:617 #, python-brace-format msgid "Build order {build} has been completed" -msgstr "生產工單 {build} 已經完成" +msgstr "" #: build/models.py:623 msgid "A build order has been completed" -msgstr "一張生產工單已經完成" +msgstr "" #: build/models.py:849 build/models.py:934 msgid "No build output specified" -msgstr "未指定产出" +msgstr "" #: build/models.py:852 msgid "Build output is already completed" -msgstr "产出已完成" +msgstr "" #: build/models.py:855 msgid "Build output does not match Build Order" -msgstr "产出与生产订单不匹配" +msgstr "" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" -msgstr "數量必須大於零" +msgstr "" #: build/models.py:943 build/serializers.py:224 msgid "Quantity cannot be greater than the output quantity" -msgstr "数量不能大于输出数量" +msgstr "" #: build/models.py:1003 build/serializers.py:547 #, python-brace-format msgid "Build output {serial} has not passed all required tests" -msgstr "产出 {serial} 未通过所有必要测试" +msgstr "" #: build/models.py:1344 msgid "Build Order Line Item" @@ -1022,7 +1018,7 @@ msgstr "" #: build/models.py:1369 msgid "Build object" -msgstr "生产对象" +msgstr "" #: build/models.py:1383 build/models.py:1639 build/serializers.py:206 #: build/serializers.py:253 build/templates/build/build_base.html:102 @@ -1038,7 +1034,7 @@ msgstr "生产对象" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1069,40 +1065,40 @@ msgstr "生产对象" #: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 #: templates/js/translated/stock.js:3104 msgid "Quantity" -msgstr "數量" +msgstr "" #: build/models.py:1384 msgid "Required quantity for build order" -msgstr "生產工單所需數量" +msgstr "" #: build/models.py:1464 msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "生产项必须指定产出,因为主零件已经被标记为可追踪的" +msgstr "" #: build/models.py:1473 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "分配的數量({q})不能超過可用的庫存數量({a})" +msgstr "" #: build/models.py:1483 order/models.py:1882 msgid "Stock item is over-allocated" -msgstr "庫存品項超額分配" +msgstr "" #: build/models.py:1489 order/models.py:1885 msgid "Allocation quantity must be greater than zero" -msgstr "分配的數量必須大於零" +msgstr "" #: build/models.py:1495 msgid "Quantity must be 1 for serialized stock" -msgstr "有序號的品項數量必須為1" +msgstr "" #: build/models.py:1554 msgid "Selected stock item does not match BOM line" -msgstr "選擇的庫存品項和BOM的項目不符" +msgstr "" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1116,72 +1112,72 @@ msgstr "選擇的庫存品項和BOM的項目不符" #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 #: templates/js/translated/stock.js:2977 msgid "Stock Item" -msgstr "庫存品項" +msgstr "" #: build/models.py:1627 msgid "Source stock item" -msgstr "來源庫存項目" +msgstr "" #: build/models.py:1640 msgid "Stock quantity to allocate to build" -msgstr "要分配的庫存數量" +msgstr "" #: build/models.py:1648 msgid "Install into" -msgstr "安裝到" +msgstr "" #: build/models.py:1649 msgid "Destination stock item" -msgstr "目的庫存品項" +msgstr "" #: build/serializers.py:156 build/serializers.py:875 #: templates/js/translated/build.js:1322 msgid "Build Output" -msgstr "产出" +msgstr "" #: build/serializers.py:168 msgid "Build output does not match the parent build" -msgstr "产出与之前的生产不匹配" +msgstr "" #: build/serializers.py:172 msgid "Output part does not match BuildOrder part" -msgstr "产出零件与生产订单零件不匹配" +msgstr "" #: build/serializers.py:176 msgid "This build output has already been completed" -msgstr "此产出已经完成" +msgstr "" #: build/serializers.py:187 msgid "This build output is not fully allocated" -msgstr "此产出尚未完全分配" +msgstr "" #: build/serializers.py:207 build/serializers.py:254 msgid "Enter quantity for build output" -msgstr "输入产出数量" +msgstr "" #: build/serializers.py:275 msgid "Integer quantity required for trackable parts" -msgstr "可追蹤的零件數量必須為整數" +msgstr "" #: build/serializers.py:278 msgid "Integer quantity required, as the bill of materials contains trackable parts" -msgstr "因為BOM包含可追蹤的零件,所以數量必須為整數" +msgstr "" #: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 #: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" -msgstr "序號" +msgstr "" #: build/serializers.py:294 msgid "Enter serial numbers for build outputs" -msgstr "输出产出的序列号" +msgstr "" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1195,56 +1191,56 @@ msgstr "输出产出的序列号" #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 #: templates/js/translated/stock.js:2871 msgid "Location" -msgstr "地點" +msgstr "" #: build/serializers.py:300 msgid "Stock location for build output" -msgstr "生产输出的库存地点" +msgstr "" #: build/serializers.py:314 msgid "Auto Allocate Serial Numbers" -msgstr "自動分配序號" +msgstr "" #: build/serializers.py:315 msgid "Automatically allocate required items with matching serial numbers" -msgstr "自動為需要項目分配對應的序號" +msgstr "" #: build/serializers.py:330 msgid "Serial numbers must be provided for trackable parts" -msgstr "对于可跟踪的零件,必须提供序列号" +msgstr "" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" -msgstr "序號已存在或無效" +msgstr "" #: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 msgid "A list of build outputs must be provided" -msgstr "必须提供产出清单" +msgstr "" #: build/serializers.py:441 msgid "Stock location for scrapped outputs" -msgstr "废品产出的库存位置" +msgstr "" #: build/serializers.py:447 msgid "Discard Allocations" -msgstr "放棄分配" +msgstr "" #: build/serializers.py:448 msgid "Discard any stock allocations for scrapped outputs" -msgstr "取消对废品产出的任何库存分配" +msgstr "" #: build/serializers.py:453 msgid "Reason for scrapping build output(s)" -msgstr "废品产出的原因" +msgstr "" #: build/serializers.py:513 msgid "Location for completed build outputs" -msgstr "已完成删除的库存地点" +msgstr "" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1254,120 +1250,120 @@ msgstr "已完成删除的库存地点" #: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 #: templates/js/translated/stock.js:3120 msgid "Status" -msgstr "狀態" +msgstr "" #: build/serializers.py:525 msgid "Accept Incomplete Allocation" -msgstr "接受不完整的分配" +msgstr "" #: build/serializers.py:526 msgid "Complete outputs if stock has not been fully allocated" -msgstr "如果库存尚未全部分配,则完成产出" +msgstr "" #: build/serializers.py:611 msgid "Consume Allocated Stock" -msgstr "消费已分配的库存" +msgstr "" #: build/serializers.py:612 msgid "Consume any stock which has already been allocated to this build" -msgstr "消耗已分配给此生产的任何库存" +msgstr "" #: build/serializers.py:618 msgid "Remove Incomplete Outputs" -msgstr "移除未完成的产出" +msgstr "" #: build/serializers.py:619 msgid "Delete any build outputs which have not been completed" -msgstr "删除所有未完成的产出" +msgstr "" #: build/serializers.py:646 msgid "Not permitted" -msgstr "不允许" +msgstr "" #: build/serializers.py:647 msgid "Accept as consumed by this build order" -msgstr "接受作为此生产订单的消费" +msgstr "" #: build/serializers.py:648 msgid "Deallocate before completing this build order" -msgstr "完成此生产订单前取消分配" +msgstr "" #: build/serializers.py:678 msgid "Overallocated Stock" -msgstr "超出分配的库存" +msgstr "" #: build/serializers.py:680 msgid "How do you want to handle extra stock items assigned to the build order" -msgstr "如何处理分配给生产订单的额外库存项" +msgstr "" #: build/serializers.py:690 msgid "Some stock items have been overallocated" -msgstr "有库存项目已被过度分配" +msgstr "" #: build/serializers.py:695 msgid "Accept Unallocated" -msgstr "接受未分配" +msgstr "" #: build/serializers.py:696 msgid "Accept that stock items have not been fully allocated to this build order" -msgstr "接受库存项未被完全分配至生产订单" +msgstr "" #: build/serializers.py:706 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" -msgstr "所需库存尚未完全分配" +msgstr "" #: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 msgid "Accept Incomplete" -msgstr "接受不完整" +msgstr "" #: build/serializers.py:712 msgid "Accept that the required number of build outputs have not been completed" -msgstr "允许所需数量的产出未完成" +msgstr "" #: build/serializers.py:722 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" -msgstr "未完成所需生产数量" +msgstr "" #: build/serializers.py:731 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" -msgstr "生产订单有未完成的产出" +msgstr "" #: build/serializers.py:769 msgid "Build Line" -msgstr "生产行" +msgstr "" #: build/serializers.py:779 msgid "Build output" -msgstr "产出" +msgstr "" #: build/serializers.py:787 msgid "Build output must point to the same build" -msgstr "生产产出必须指向相同的生产" +msgstr "" #: build/serializers.py:823 msgid "Build Line Item" -msgstr "生产行项目" +msgstr "" #: build/serializers.py:837 msgid "bom_item.part must point to the same part as the build order" -msgstr "bom_item.part 必须与生产订单零件相同" +msgstr "" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" -msgstr "商品必須有庫存" +msgstr "" #: build/serializers.py:900 order/serializers.py:1225 #, python-brace-format msgid "Available quantity ({q}) exceeded" -msgstr "可用量 ({q}) 超出限制" +msgstr "" #: build/serializers.py:906 msgid "Build output must be specified for allocation of tracked parts" -msgstr "对于被追踪的零件的分配,必须指定生产产出" +msgstr "" #: build/serializers.py:913 msgid "Build output cannot be specified for allocation of untracked parts" -msgstr "对于未被追踪的零件,无法指定生产产出" +msgstr "" #: build/serializers.py:937 order/serializers.py:1477 msgid "Allocation items must be provided" @@ -1379,7 +1375,7 @@ msgstr "" #: build/serializers.py:1008 msgid "Exclude Location" -msgstr "排除位置" +msgstr "" #: build/serializers.py:1009 msgid "Exclude stock items from this selected location" @@ -1387,7 +1383,7 @@ msgstr "" #: build/serializers.py:1014 msgid "Interchangeable Stock" -msgstr "可互換庫存" +msgstr "" #: build/serializers.py:1015 msgid "Stock items in multiple locations can be used interchangeably" @@ -1395,7 +1391,7 @@ msgstr "" #: build/serializers.py:1020 msgid "Substitute Stock" -msgstr "替代品库存" +msgstr "" #: build/serializers.py:1021 msgid "Allow allocation of substitute parts" @@ -1403,7 +1399,7 @@ msgstr "" #: build/serializers.py:1026 msgid "Optional Items" -msgstr "可选项目" +msgstr "" #: build/serializers.py:1027 msgid "Allocate optional BOM items to build order" @@ -1414,60 +1410,60 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" -msgstr "物料清单项" +msgstr "" #: build/serializers.py:1148 templates/js/translated/index.js:130 msgid "Allocated Stock" -msgstr "分配库存" +msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 #: templates/js/translated/table_filters.js:170 msgid "On Order" -msgstr "已订购" +msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" -msgstr "生产中" +msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" -msgstr "可用库存" +msgstr "" #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 msgid "Pending" -msgstr "待定" +msgstr "" #: build/status_codes.py:12 msgid "Production" -msgstr "生產" +msgstr "" #: build/status_codes.py:13 order/status_codes.py:15 order/status_codes.py:45 #: order/status_codes.py:70 msgid "Cancelled" -msgstr "已取消" +msgstr "" #: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" -msgstr "完成" +msgstr "" #: build/tasks.py:184 msgid "Stock required for build order" -msgstr "生产订单所需库存" +msgstr "" #: build/tasks.py:201 msgid "Overdue Build Order" @@ -1476,11 +1472,11 @@ msgstr "" #: build/tasks.py:206 #, python-brace-format msgid "Build order {bo} is now overdue" -msgstr "生产订单 {bo} 现已逾期" +msgstr "" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "零件缩略图" +msgstr "" #: build/templates/build/build_base.html:38 #: company/templates/company/supplier_part.html:35 @@ -1503,7 +1499,7 @@ msgstr "" #: stock/templates/stock/item_base.html:44 #: stock/templates/stock/location.html:57 templates/qr_button.html:1 msgid "Show QR Code" -msgstr "显示二维码" +msgstr "" #: build/templates/build/build_base.html:45 #: company/templates/company/supplier_part.html:41 @@ -1516,7 +1512,7 @@ msgstr "显示二维码" #: templates/js/translated/barcode.js:496 #: templates/js/translated/barcode.js:501 msgid "Unlink Barcode" -msgstr "取消关联条形码" +msgstr "" #: build/templates/build/build_base.html:47 #: company/templates/company/supplier_part.html:43 @@ -1527,51 +1523,51 @@ msgstr "取消关联条形码" #: stock/templates/stock/item_base.html:49 #: stock/templates/stock/location.html:61 msgid "Link Barcode" -msgstr "关联条形码" +msgstr "" #: build/templates/build/build_base.html:56 #: order/templates/order/order_base.html:46 #: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:55 msgid "Print actions" -msgstr "打印操作" +msgstr "" #: build/templates/build/build_base.html:60 msgid "Print build order report" -msgstr "打印生产订单报告" +msgstr "" #: build/templates/build/build_base.html:67 msgid "Build actions" -msgstr "生产操作" +msgstr "" #: build/templates/build/build_base.html:71 msgid "Edit Build" -msgstr "编辑生产操作" +msgstr "" #: build/templates/build/build_base.html:73 msgid "Cancel Build" -msgstr "取消生产操作" +msgstr "" #: build/templates/build/build_base.html:76 msgid "Duplicate Build" -msgstr "复制生产操作" +msgstr "" #: build/templates/build/build_base.html:79 msgid "Delete Build" -msgstr "删除生产操作" +msgstr "" #: build/templates/build/build_base.html:84 #: build/templates/build/build_base.html:85 msgid "Complete Build" -msgstr "生产操作完成" +msgstr "" #: build/templates/build/build_base.html:107 msgid "Build Description" -msgstr "生产操作描述" +msgstr "" #: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" -msgstr "没有为此生产订单创建生产产出" +msgstr "" #: build/templates/build/build_base.html:124 msgid "Build Order is ready to mark as completed" @@ -1579,7 +1575,7 @@ msgstr "" #: build/templates/build/build_base.html:129 msgid "Build Order cannot be completed as outstanding outputs remain" -msgstr "由于仍有未完成的产出,生产订单无法完成" +msgstr "" #: build/templates/build/build_base.html:134 msgid "Required build quantity has not yet been completed" @@ -1603,12 +1599,12 @@ msgstr "" #: templates/js/translated/sales_order.js:871 #: templates/js/translated/sales_order.js:1903 msgid "Target Date" -msgstr "预计日期" +msgstr "" #: build/templates/build/build_base.html:165 #, python-format msgid "This build was due on %(target)s" -msgstr "此次生产的截止日期为 %(target)s" +msgstr "" #: build/templates/build/build_base.html:165 #: build/templates/build/build_base.html:222 @@ -1620,12 +1616,12 @@ msgstr "此次生产的截止日期为 %(target)s" #: templates/js/translated/table_filters.js:626 #: templates/js/translated/table_filters.js:667 msgid "Overdue" -msgstr "逾期" +msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 msgid "Completed Outputs" -msgstr "产出已完成" +msgstr "" #: build/templates/build/build_base.html:190 #: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 @@ -1641,7 +1637,7 @@ msgstr "产出已完成" #: templates/js/translated/sales_order.js:1028 #: templates/js/translated/stock.js:2924 msgid "Sales Order" -msgstr "销售订单" +msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 @@ -1653,15 +1649,15 @@ msgstr "" #: build/templates/build/build_base.html:211 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2156 msgid "Priority" -msgstr "優先等級" +msgstr "" #: build/templates/build/build_base.html:269 msgid "Delete Build Order" -msgstr "删除生产订单" +msgstr "" #: build/templates/build/build_base.html:279 msgid "Build Order QR Code" -msgstr "生产订单二维码" +msgstr "" #: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" @@ -1669,15 +1665,15 @@ msgstr "" #: build/templates/build/detail.html:15 msgid "Build Details" -msgstr "生产详情" +msgstr "" #: build/templates/build/detail.html:38 msgid "Stock Source" -msgstr "库存来源" +msgstr "" #: build/templates/build/detail.html:43 msgid "Stock can be taken from any available location." -msgstr "库存可以从任何可用地点获得。" +msgstr "" #: build/templates/build/detail.html:49 order/models.py:1443 #: templates/js/translated/purchase_order.js:2189 @@ -1690,7 +1686,7 @@ msgstr "" #: build/templates/build/detail.html:73 msgid "Allocated Parts" -msgstr "已分配的零件" +msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:162 #: stock/templates/stock/item_base.html:162 @@ -1710,7 +1706,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" -msgstr "已创建" +msgstr "" #: build/templates/build/detail.html:144 msgid "No target date set" @@ -1720,15 +1716,15 @@ msgstr "" #: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" -msgstr "已完成" +msgstr "" #: build/templates/build/detail.html:153 msgid "Build not complete" -msgstr "生产未完成" +msgstr "" #: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" -msgstr "子生产订单" +msgstr "" #: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" @@ -1736,36 +1732,36 @@ msgstr "" #: build/templates/build/detail.html:181 msgid "Deallocate stock" -msgstr "取消库存分配" +msgstr "" #: build/templates/build/detail.html:182 msgid "Deallocate Stock" -msgstr "取消库存分配" +msgstr "" #: build/templates/build/detail.html:184 msgid "Automatically allocate stock to build" -msgstr "自动分配库存以生产" +msgstr "" #: build/templates/build/detail.html:185 msgid "Auto Allocate" -msgstr "自動分配" +msgstr "" #: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" -msgstr "手動分配庫存進行生產" +msgstr "" #: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" -msgstr "分配庫存" +msgstr "" #: build/templates/build/detail.html:191 msgid "Order required parts" -msgstr "订单所需零件" +msgstr "" #: build/templates/build/detail.html:192 #: templates/js/translated/purchase_order.js:795 msgid "Order Parts" -msgstr "订购零件" +msgstr "" #: build/templates/build/detail.html:205 msgid "Available stock has been filtered based on specified source location for this build order" @@ -1773,23 +1769,23 @@ msgstr "" #: build/templates/build/detail.html:215 msgid "Incomplete Build Outputs" -msgstr "未完成产出" +msgstr "" #: build/templates/build/detail.html:219 msgid "Create new build output" -msgstr "创建新的生产产出" +msgstr "" #: build/templates/build/detail.html:220 msgid "New Build Output" -msgstr "新建生产产出" +msgstr "" #: build/templates/build/detail.html:237 build/templates/build/sidebar.html:15 msgid "Consumed Stock" -msgstr "已消耗的库存" +msgstr "" #: build/templates/build/detail.html:249 msgid "Completed Build Outputs" -msgstr "已完成的产出" +msgstr "" #: build/templates/build/detail.html:261 build/templates/build/sidebar.html:19 #: company/templates/company/detail.html:229 @@ -1805,11 +1801,11 @@ msgstr "已完成的产出" #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" -msgstr "附件" +msgstr "" #: build/templates/build/detail.html:276 msgid "Build Notes" -msgstr "生产备注" +msgstr "" #: build/templates/build/detail.html:426 msgid "Allocation Complete" @@ -1821,15 +1817,15 @@ msgstr "" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" -msgstr "新建生产订单" +msgstr "" #: build/templates/build/sidebar.html:5 msgid "Build Order Details" -msgstr "生产订单详情" +msgstr "" #: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" -msgstr "未完成的产出" +msgstr "" #: common/api.py:689 msgid "Is Link" @@ -1857,12 +1853,12 @@ msgstr "" #: common/currency.py:154 msgid "No plugin" -msgstr "暂无插件" +msgstr "" #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" -msgstr "不支持的文件格式: {fmt}" +msgstr "" #: common/files.py:65 msgid "Error reading file (invalid encoding)" @@ -1882,11 +1878,11 @@ msgstr "" #: common/forms.py:12 msgid "File" -msgstr "檔案" +msgstr "" #: common/forms.py:12 msgid "Select file to upload" -msgstr "選擇要上傳的檔案" +msgstr "" #: common/forms.py:25 msgid "{name.title()} File" @@ -1895,19 +1891,19 @@ msgstr "" #: common/forms.py:26 #, python-brace-format msgid "Select {name} file to upload" -msgstr "选择 {name} 文件上传" +msgstr "" #: common/models.py:73 msgid "Updated" -msgstr "已是最新" +msgstr "" #: common/models.py:74 msgid "Timestamp of last update" -msgstr "最后更新时间戳" +msgstr "" #: common/models.py:107 msgid "Site URL is locked by configuration" -msgstr "网站 URL 已配置为锁定" +msgstr "" #: common/models.py:132 msgid "Unique project code" @@ -1915,11 +1911,11 @@ msgstr "" #: common/models.py:139 msgid "Project description" -msgstr "项目描述" +msgstr "" #: common/models.py:148 msgid "User or group responsible for this project" -msgstr "负责此项目的用户或群组" +msgstr "" #: common/models.py:765 msgid "Settings key (must be unique - case insensitive)" @@ -1927,47 +1923,47 @@ msgstr "" #: common/models.py:769 msgid "Settings value" -msgstr "设定值" +msgstr "" #: common/models.py:821 msgid "Chosen value is not a valid option" -msgstr "所选值不是一个有效的选项" +msgstr "" #: common/models.py:837 msgid "Value must be a boolean value" -msgstr "该值必须是布尔值" +msgstr "" #: common/models.py:845 msgid "Value must be an integer value" -msgstr "该值必须为整数" +msgstr "" #: common/models.py:882 msgid "Key string must be unique" -msgstr "键字符串必须是唯一的" +msgstr "" #: common/models.py:1114 msgid "No group" -msgstr "无分组" +msgstr "" #: common/models.py:1213 msgid "Restart required" -msgstr "需要重启" +msgstr "" #: common/models.py:1215 msgid "A setting has been changed which requires a server restart" -msgstr "设置已更改,需要服务器重启" +msgstr "" #: common/models.py:1222 msgid "Pending migrations" -msgstr "等待迁移" +msgstr "" #: common/models.py:1223 msgid "Number of pending database migrations" -msgstr "待处理的数据库迁移数" +msgstr "" #: common/models.py:1228 msgid "Server Instance Name" -msgstr "服务器实例名称" +msgstr "" #: common/models.py:1230 msgid "String descriptor for the server instance" @@ -1975,27 +1971,27 @@ msgstr "" #: common/models.py:1234 msgid "Use instance name" -msgstr "使用实例名称" +msgstr "" #: common/models.py:1235 msgid "Use the instance name in the title-bar" -msgstr "在标题栏中使用实例名称" +msgstr "" #: common/models.py:1240 msgid "Restrict showing `about`" -msgstr "限制显示 `关于` 信息" +msgstr "" #: common/models.py:1241 msgid "Show the `about` modal only to superusers" -msgstr "只向超级管理员显示关于信息" +msgstr "" #: common/models.py:1246 company/models.py:111 company/models.py:112 msgid "Company name" -msgstr "公司名称" +msgstr "" #: common/models.py:1247 msgid "Internal company name" -msgstr "内部公司名称" +msgstr "" #: common/models.py:1251 msgid "Base URL" @@ -2007,11 +2003,11 @@ msgstr "" #: common/models.py:1258 msgid "Default Currency" -msgstr "默认货币单位" +msgstr "" #: common/models.py:1259 msgid "Select base currency for pricing calculations" -msgstr "选择价格计算的默认货币" +msgstr "" #: common/models.py:1265 msgid "Supported Currencies" @@ -2019,11 +2015,11 @@ msgstr "" #: common/models.py:1266 msgid "List of supported currency codes" -msgstr "支持的货币代码列表" +msgstr "" #: common/models.py:1272 msgid "Currency Update Interval" -msgstr "货币更新间隔时间" +msgstr "" #: common/models.py:1274 msgid "How often to update exchange rates (set to zero to disable)" @@ -2034,11 +2030,11 @@ msgstr "" #: common/models.py:1590 common/models.py:1612 common/models.py:1727 #: common/models.py:2046 msgid "days" -msgstr "天" +msgstr "" #: common/models.py:1281 msgid "Currency Update Plugin" -msgstr "币种更新插件" +msgstr "" #: common/models.py:1282 msgid "Currency update plugin to use" @@ -2046,7 +2042,7 @@ msgstr "" #: common/models.py:1287 msgid "Download from URL" -msgstr "从URL下载" +msgstr "" #: common/models.py:1289 msgid "Allow download of remote images and files from external URL" @@ -2054,7 +2050,7 @@ msgstr "" #: common/models.py:1295 msgid "Download Size Limit" -msgstr "下载大小限制" +msgstr "" #: common/models.py:1296 msgid "Maximum allowable download size for remote image" @@ -2078,7 +2074,7 @@ msgstr "" #: common/models.py:1315 msgid "Require confirm" -msgstr "需要确认" +msgstr "" #: common/models.py:1316 msgid "Require explicit user confirmation for certain action." @@ -2102,15 +2098,15 @@ msgstr "" #: common/models.py:1336 msgid "Automatic Backup" -msgstr "自動備份" +msgstr "" #: common/models.py:1337 msgid "Enable automatic backup of database and media files" -msgstr "啟動資料庫和媒體文件自動備份" +msgstr "" #: common/models.py:1342 msgid "Auto Backup Interval" -msgstr "自動備份間隔" +msgstr "" #: common/models.py:1343 msgid "Specify number of days between automated backup events" @@ -2242,7 +2238,7 @@ msgstr "" #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" -msgstr "模板" +msgstr "" #: common/models.py:1448 msgid "Parts are templates by default" @@ -2262,7 +2258,7 @@ msgstr "" #: common/models.py:1459 part/admin.py:95 part/models.py:1058 #: templates/js/translated/table_filters.js:729 msgid "Component" -msgstr "组件" +msgstr "" #: common/models.py:1460 msgid "Parts can be used as sub-components by default" @@ -2317,7 +2313,7 @@ msgstr "" #: common/models.py:1495 msgid "Show related parts" -msgstr "显示相关零件" +msgstr "" #: common/models.py:1496 msgid "Display related parts for a part" @@ -2477,11 +2473,11 @@ msgstr "" #: common/models.py:1651 templates/stats.html:25 msgid "Debug Mode" -msgstr "调试模式" +msgstr "" #: common/models.py:1652 msgid "Generate reports in debug mode (HTML output)" -msgstr "以调试模式生成报告(HTML 输出)" +msgstr "" #: common/models.py:1657 msgid "Log Report Errors" @@ -2494,79 +2490,79 @@ msgstr "" #: common/models.py:1663 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" -msgstr "页面大小" +msgstr "" #: common/models.py:1664 msgid "Default page size for PDF reports" -msgstr "PDF 报告默认页面大小" +msgstr "" #: common/models.py:1669 msgid "Enable Test Reports" -msgstr "启用测试报告" +msgstr "" #: common/models.py:1670 msgid "Enable generation of test reports" -msgstr "启用生成测试报表" +msgstr "" #: common/models.py:1675 msgid "Attach Test Reports" -msgstr "添加测试报告" +msgstr "" #: common/models.py:1677 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "在打印测试报告时,将测试报告副本附加到相关的库存项" +msgstr "" #: common/models.py:1683 msgid "Globally Unique Serials" -msgstr "全局唯一序列号" +msgstr "" #: common/models.py:1684 msgid "Serial numbers for stock items must be globally unique" -msgstr "库存项的序列号必须全局唯一" +msgstr "" #: common/models.py:1689 msgid "Autofill Serial Numbers" -msgstr "自动填充序列号" +msgstr "" #: common/models.py:1690 msgid "Autofill serial numbers in forms" -msgstr "在表格中自动填充序列号" +msgstr "" #: common/models.py:1695 msgid "Delete Depleted Stock" -msgstr "删除已耗尽的库存" +msgstr "" #: common/models.py:1697 msgid "Determines default behavior when a stock item is depleted" -msgstr "设置库存耗尽时的默认行为" +msgstr "" #: common/models.py:1703 msgid "Batch Code Template" -msgstr "批号模板" +msgstr "" #: common/models.py:1705 msgid "Template for generating default batch codes for stock items" -msgstr "为库存项生成默认批号的模板" +msgstr "" #: common/models.py:1710 msgid "Stock Expiry" -msgstr "库存过期" +msgstr "" #: common/models.py:1711 msgid "Enable stock expiry functionality" -msgstr "启用库存过期功能" +msgstr "" #: common/models.py:1716 msgid "Sell Expired Stock" -msgstr "销售过期库存" +msgstr "" #: common/models.py:1717 msgid "Allow sale of expired stock" -msgstr "允许销售过期库存" +msgstr "" #: common/models.py:1722 msgid "Stock Stale Time" -msgstr "库存过期时间" +msgstr "" #: common/models.py:1724 msgid "Number of days stock items are considered stale before expiring" @@ -2582,7 +2578,7 @@ msgstr "" #: common/models.py:1737 msgid "Stock Ownership Control" -msgstr "库存所有权控制" +msgstr "" #: common/models.py:1738 msgid "Enable ownership control over stock locations and items" @@ -2644,15 +2640,15 @@ msgstr "" #: common/models.py:1786 msgid "Prevent build outputs from being completed until all required tests pass" -msgstr "在所有必要的测试通过之前,阻止产出完成" +msgstr "" #: common/models.py:1792 msgid "Enable Return Orders" -msgstr "启用订单退货" +msgstr "" #: common/models.py:1793 msgid "Enable return order functionality in the user interface" -msgstr "在用户界面中启用订单退货功能" +msgstr "" #: common/models.py:1798 msgid "Return Order Reference Pattern" @@ -3370,7 +3366,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" -msgstr "使用者" +msgstr "" #: common/models.py:2510 msgid "Price break quantity" @@ -3500,7 +3496,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1092 #: templates/js/translated/sales_order.js:2023 msgid "Link" -msgstr "連結" +msgstr "" #: common/models.py:2937 templates/js/translated/news.js:60 msgid "Published" @@ -3573,24 +3569,24 @@ msgstr "" #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" -msgstr "附件" +msgstr "" #: common/models.py:3123 msgid "Missing file" -msgstr "缺少檔案" +msgstr "" #: common/models.py:3124 msgid "Missing external link" -msgstr "缺少外部連結" +msgstr "" #: common/models.py:3169 msgid "Select file to attach" -msgstr "選擇附件" +msgstr "" #: common/models.py:3184 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" -msgstr "註解" +msgstr "" #: common/models.py:3185 msgid "Attachment comment" @@ -3712,7 +3708,7 @@ msgstr "" #: common/serializers.py:525 msgid "Filename" -msgstr "檔案名稱" +msgstr "" #: common/serializers.py:532 report/api.py:100 report/serializers.py:53 msgid "Model Type" @@ -3722,22 +3718,30 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +msgid "No attachment model type provided" +msgstr "" + +#: common/validators.py:39 +msgid "Invalid attachment model type" +msgstr "" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." -msgstr "不允许空域。" +msgstr "" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" -msgstr "无效的域名: {domain}" +msgstr "" #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 @@ -3799,7 +3803,7 @@ msgstr "" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3992,7 +3996,7 @@ msgstr "" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4007,7 +4011,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4080,7 +4084,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4097,7 +4101,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4137,7 +4141,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4237,7 +4241,7 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 msgid "Part image" msgstr "" @@ -4259,7 +4263,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4379,7 +4383,7 @@ msgstr "" #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:209 msgid "Sales Orders" -msgstr "銷售訂單" +msgstr "" #: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 @@ -4470,7 +4474,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4561,7 +4565,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4611,10 +4615,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -4652,7 +4656,7 @@ msgstr "" #: generic/states/tests.py:18 order/status_codes.py:13 msgid "Placed" -msgstr "放置" +msgstr "" #: machine/machine_types/label_printer.py:218 msgid "Copies" @@ -5047,7 +5051,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" -msgstr "已配送" +msgstr "" #: order/models.py:1580 msgid "Shipped quantity" @@ -5275,7 +5279,7 @@ msgstr "" #: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" -msgstr "输入入库项目的批号" +msgstr "" #: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" @@ -5367,35 +5371,35 @@ msgstr "" #: order/status_codes.py:16 order/status_codes.py:46 stock/status_codes.py:16 msgid "Lost" -msgstr "丢失" +msgstr "" #: order/status_codes.py:17 order/status_codes.py:47 stock/status_codes.py:22 msgid "Returned" -msgstr "已退回" +msgstr "" #: order/status_codes.py:40 order/status_codes.py:67 msgid "In Progress" -msgstr "正在进行" +msgstr "" #: order/status_codes.py:85 msgid "Return" -msgstr "退回" +msgstr "" #: order/status_codes.py:88 msgid "Repair" -msgstr "維修" +msgstr "" #: order/status_codes.py:91 msgid "Replace" -msgstr "替換" +msgstr "" #: order/status_codes.py:94 msgid "Refund" -msgstr "退款" +msgstr "" #: order/status_codes.py:97 msgid "Reject" -msgstr "拒絕" +msgstr "" #: order/tasks.py:25 msgid "Overdue Purchase Order" @@ -5879,8 +5883,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -5889,7 +5893,7 @@ msgstr "" #: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" -msgstr "零件" +msgstr "" #: part/admin.py:378 msgid "BOM Level" @@ -5907,13 +5911,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5936,75 +5940,83 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 -msgid "Cascade" +msgid "Top Level" msgstr "" #: part/api.py:143 +msgid "Filter by top-level categories" +msgstr "" + +#: part/api.py:156 stock/api.py:345 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:181 msgid "Filter by parent category" msgstr "" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:433 +#: part/api.py:449 msgid "Has Results" msgstr "" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6013,7 +6025,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6735,323 +6747,331 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +msgid "Parent Category" +msgstr "" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 msgid "No parts selected" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:402 msgid "Select category" msgstr "" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 msgid "Copy Notes" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 msgid "External Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:836 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:831 +#: part/serializers.py:839 msgid "Variant Stock" msgstr "" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 msgid "Existing Image" msgstr "" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -7565,7 +7585,7 @@ msgstr "" #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" -msgstr "庫存" +msgstr "" #: part/templates/part/part_sidebar.html:30 #: templates/InvenTree/settings/sidebar.html:39 @@ -7689,7 +7709,7 @@ msgstr "" #: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" -msgstr "低庫存" +msgstr "" #: part/templates/part/upload_bom.html:8 msgid "Return to BOM" @@ -8231,17 +8251,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8653,28 +8673,28 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -8773,55 +8793,59 @@ msgid "Filter by location depth" msgstr "" #: stock/api.py:332 +msgid "Filter by top-level locations" +msgstr "" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 msgid "Parent Location" msgstr "" -#: stock/api.py:354 +#: stock/api.py:370 msgid "Filter by parent location" msgstr "" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 msgid "Part Tree" msgstr "" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8933,7 +8957,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -8945,9 +8969,9 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" -msgstr "此库存项的批号" +msgstr "" #: stock/models.py:847 msgid "Stock Quantity" @@ -9054,7 +9078,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9096,7 +9120,7 @@ msgstr "" #: stock/models.py:2419 msgid "Test output value" -msgstr "测试输出值" +msgstr "" #: stock/models.py:2427 msgid "Test result attachment" @@ -9207,7 +9231,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "" @@ -9280,208 +9304,212 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 msgid "No Change" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" #: stock/status_codes.py:11 msgid "OK" -msgstr "OK" +msgstr "" #: stock/status_codes.py:12 msgid "Attention needed" -msgstr "需要关注" +msgstr "" #: stock/status_codes.py:13 msgid "Damaged" -msgstr "破损" +msgstr "" #: stock/status_codes.py:14 msgid "Destroyed" -msgstr "销毁" +msgstr "" #: stock/status_codes.py:15 msgid "Rejected" -msgstr "拒绝" +msgstr "" #: stock/status_codes.py:19 msgid "Quarantined" -msgstr "隔离" +msgstr "" #: stock/status_codes.py:40 msgid "Legacy stock tracking entry" -msgstr "旧库存跟踪条目" +msgstr "" #: stock/status_codes.py:42 templates/js/translated/stock.js:544 msgid "Stock item created" -msgstr "库存项已创建" +msgstr "" #: stock/status_codes.py:45 msgid "Edited stock item" -msgstr "已编辑库存项" +msgstr "" #: stock/status_codes.py:46 msgid "Assigned serial number" -msgstr "已分配序列号" +msgstr "" #: stock/status_codes.py:49 msgid "Stock counted" -msgstr "库存计数" +msgstr "" #: stock/status_codes.py:50 msgid "Stock manually added" -msgstr "已手动添加库存" +msgstr "" #: stock/status_codes.py:51 msgid "Stock manually removed" -msgstr "已手动删除库存" +msgstr "" #: stock/status_codes.py:54 msgid "Location changed" -msgstr "地点已更改" +msgstr "" #: stock/status_codes.py:55 msgid "Stock updated" -msgstr "库存已更新" +msgstr "" #: stock/status_codes.py:58 msgid "Installed into assembly" -msgstr "已安装到装配中" +msgstr "" #: stock/status_codes.py:59 msgid "Removed from assembly" -msgstr "已从装配中删除" +msgstr "" #: stock/status_codes.py:61 msgid "Installed component item" -msgstr "已安装组件项" +msgstr "" #: stock/status_codes.py:62 msgid "Removed component item" -msgstr "已删除组件项" +msgstr "" #: stock/status_codes.py:65 msgid "Split from parent item" -msgstr "从上级项拆分" +msgstr "" #: stock/status_codes.py:66 msgid "Split child item" -msgstr "拆分子项" +msgstr "" #: stock/status_codes.py:69 templates/js/translated/stock.js:1858 msgid "Merged stock items" -msgstr "合并的库存项" +msgstr "" #: stock/status_codes.py:72 msgid "Converted to variant" -msgstr "转换为变体" +msgstr "" #: stock/status_codes.py:75 msgid "Build order output created" -msgstr "已创建生产订单产出" +msgstr "" #: stock/status_codes.py:76 msgid "Build order output completed" -msgstr "生产订单已出产" +msgstr "" #: stock/status_codes.py:77 msgid "Build order output rejected" -msgstr "生产订单产出被拒绝" +msgstr "" #: stock/status_codes.py:78 templates/js/translated/stock.js:1764 msgid "Consumed by build order" -msgstr "被工單消耗的" +msgstr "" #: stock/status_codes.py:81 msgid "Shipped against Sales Order" -msgstr "按銷售訂單出貨" +msgstr "" #: stock/status_codes.py:84 msgid "Received against Purchase Order" -msgstr "按採購訂單接收" +msgstr "" #: stock/status_codes.py:87 msgid "Returned against Return Order" -msgstr "按退貨訂單退回" +msgstr "" #: stock/status_codes.py:90 templates/js/translated/table_filters.js:375 msgid "Sent to customer" -msgstr "寄送給客戶" +msgstr "" #: stock/status_codes.py:91 msgid "Returned from customer" -msgstr "從客戶端退回" +msgstr "" #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" @@ -9822,20 +9850,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -11494,7 +11522,7 @@ msgstr "" #: templates/js/translated/build.js:244 msgid "There are incomplete outputs remaining for this build order" -msgstr "此生产订单还有未完成的产出" +msgstr "" #: templates/js/translated/build.js:296 msgid "Build order is ready to be completed" @@ -11502,7 +11530,7 @@ msgstr "" #: templates/js/translated/build.js:304 msgid "This build order cannot be completed as there are incomplete outputs" -msgstr "由于产出不完整,无法完成此生产订单" +msgstr "" #: templates/js/translated/build.js:309 msgid "Build Order is incomplete" @@ -11528,7 +11556,7 @@ msgstr "" #: templates/js/translated/build.js:380 msgid "Build outputs must be generated individually" -msgstr "必须单独生成生产输出" +msgstr "" #: templates/js/translated/build.js:388 msgid "Trackable parts can have serial numbers specified" @@ -11536,31 +11564,31 @@ msgstr "" #: templates/js/translated/build.js:389 msgid "Enter serial numbers to generate multiple single build outputs" -msgstr "输入序列号来生成多个单一生产输出" +msgstr "" #: templates/js/translated/build.js:396 msgid "Create Build Output" -msgstr "创建生产输出" +msgstr "" #: templates/js/translated/build.js:427 msgid "Allocate stock items to this build output" -msgstr "分配库存项到此生产输出" +msgstr "" #: templates/js/translated/build.js:435 msgid "Deallocate stock from build output" -msgstr "从生产输出中取消分配库存" +msgstr "" #: templates/js/translated/build.js:444 msgid "Complete build output" -msgstr "完成生产输出" +msgstr "" #: templates/js/translated/build.js:452 msgid "Scrap build output" -msgstr "报废生产输出" +msgstr "" #: templates/js/translated/build.js:459 msgid "Delete build output" -msgstr "删除生产输出" +msgstr "" #: templates/js/translated/build.js:479 msgid "Are you sure you wish to deallocate the selected stock items from this build?" @@ -11573,33 +11601,33 @@ msgstr "" #: templates/js/translated/build.js:583 templates/js/translated/build.js:711 #: templates/js/translated/build.js:837 msgid "Select Build Outputs" -msgstr "选择生产输出" +msgstr "" #: templates/js/translated/build.js:584 templates/js/translated/build.js:712 #: templates/js/translated/build.js:838 msgid "At least one build output must be selected" -msgstr "必须选择至少一个生产输出" +msgstr "" #: templates/js/translated/build.js:598 msgid "Selected build outputs will be marked as complete" -msgstr "选择的生产输出将被标记为完成" +msgstr "" #: templates/js/translated/build.js:602 templates/js/translated/build.js:736 #: templates/js/translated/build.js:860 msgid "Output" -msgstr "输出" +msgstr "" #: templates/js/translated/build.js:630 msgid "Complete Build Outputs" -msgstr "完成生产输出" +msgstr "" #: templates/js/translated/build.js:727 msgid "Selected build outputs will be marked as scrapped" -msgstr "选择的生产输出将被标记为已报废" +msgstr "" #: templates/js/translated/build.js:729 msgid "Scrapped output are marked as rejected" -msgstr "报废的输出被标记为拒收" +msgstr "" #: templates/js/translated/build.js:730 msgid "Allocated stock items will no longer be available" @@ -11611,15 +11639,15 @@ msgstr "" #: templates/js/translated/build.js:762 msgid "Scrap Build Outputs" -msgstr "报废生产输出" +msgstr "" #: templates/js/translated/build.js:852 msgid "Selected build outputs will be deleted" -msgstr "选定的生产输出将被删除" +msgstr "" #: templates/js/translated/build.js:854 msgid "Build output data will be permanently deleted" -msgstr "生产输出数据将被永久删除" +msgstr "" #: templates/js/translated/build.js:855 msgid "Allocated stock items will be returned to stock" @@ -11627,7 +11655,7 @@ msgstr "" #: templates/js/translated/build.js:873 msgid "Delete Build Outputs" -msgstr "删除生产输出" +msgstr "" #: templates/js/translated/build.js:960 msgid "No build order allocations found" @@ -11643,31 +11671,31 @@ msgstr "" #: templates/js/translated/build.js:1027 msgid "Complete outputs" -msgstr "已完成输出" +msgstr "" #: templates/js/translated/build.js:1045 msgid "Scrap outputs" -msgstr "报废输出" +msgstr "" #: templates/js/translated/build.js:1063 msgid "Delete outputs" -msgstr "删除输出" +msgstr "" #: templates/js/translated/build.js:1116 msgid "build output" -msgstr "生产输出" +msgstr "" #: templates/js/translated/build.js:1117 msgid "build outputs" -msgstr "生产输出" +msgstr "" #: templates/js/translated/build.js:1121 msgid "Build output actions" -msgstr "生产输出操作" +msgstr "" #: templates/js/translated/build.js:1297 msgid "No active build outputs found" -msgstr "未找到激活的生产输出" +msgstr "" #: templates/js/translated/build.js:1390 msgid "Allocated Lines" @@ -12158,23 +12186,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -12356,10 +12384,6 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -12927,7 +12951,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" -msgstr "添加批号" +msgstr "" #: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" @@ -13304,10 +13328,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 msgid "Add Location type" msgstr "" @@ -13751,7 +13771,7 @@ msgstr "" #: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" -msgstr "库存项被批号或序列号跟踪" +msgstr "" #: templates/js/translated/stock.js:3237 msgid "Select part to install" @@ -13869,7 +13889,7 @@ msgstr "" #: templates/js/translated/table_filters.js:314 #: templates/js/translated/table_filters.js:405 msgid "Batch code" -msgstr "批号" +msgstr "" #: templates/js/translated/table_filters.js:325 #: templates/js/translated/table_filters.js:700 @@ -13935,11 +13955,11 @@ msgstr "" #: templates/js/translated/table_filters.js:400 msgid "Has batch code" -msgstr "有批号" +msgstr "" #: templates/js/translated/table_filters.js:409 msgid "Stock item is tracked by either batch code or serial number" -msgstr "库存项被批号或序列号追踪" +msgstr "" #: templates/js/translated/table_filters.js:414 msgid "Has purchase price" @@ -14100,11 +14120,11 @@ msgstr "" #: templates/navbar.html:45 msgid "Buy" -msgstr "採購" +msgstr "" #: templates/navbar.html:57 msgid "Sell" -msgstr "銷售" +msgstr "" #: templates/navbar.html:121 msgid "Show Notifications" @@ -14120,11 +14140,11 @@ msgstr "" #: templates/navbar.html:148 msgid "Logout" -msgstr "登出" +msgstr "" #: templates/notes_buttons.html:6 templates/notes_buttons.html:7 msgid "Save" -msgstr "儲存" +msgstr "" #: templates/notifications.html:9 msgid "Show all notifications and history" @@ -14152,7 +14172,7 @@ msgstr "" #: templates/registration/logged_out.html:7 msgid "You were logged out successfully." -msgstr "您已成功登出。" +msgstr "" #: templates/registration/logged_out.html:9 msgid "Log in again" @@ -14398,3 +14418,4 @@ msgstr "" #: users/models.py:404 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index 7f98e5a963..b851189f1a 100644 --- a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-19 04:39+0000\n" +"POT-Creation-Date: 2024-06-26 03:18+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -72,8 +72,8 @@ msgstr "输入日期" #: report/templates/report/inventree_build_order_report.html:172 #: stock/admin.py:230 stock/models.py:2309 stock/models.py:2431 #: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1230 stock/serializers.py:1319 -#: stock/serializers.py:1484 stock/templates/stock/stock_sidebar.html:25 +#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 +#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1081 @@ -483,10 +483,6 @@ msgstr "描述信息" msgid "Description (optional)" msgstr "描述 (可选)" -#: InvenTree/models.py:782 -msgid "parent" -msgstr "上级项" - #: InvenTree/models.py:788 templates/js/translated/part.js:2794 #: templates/js/translated/stock.js:2757 msgid "Path" @@ -623,7 +619,7 @@ msgstr "远程图像文件的 URL" msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" -#: InvenTree/status.py:66 part/serializers.py:1166 +#: InvenTree/status.py:66 part/serializers.py:1174 msgid "Background worker check failed" msgstr "后台工作人员检查失败" @@ -803,11 +799,11 @@ msgstr "此次生产匹配的订单" #: build/models.py:237 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 #: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1478 part/api.py:1772 part/models.py:395 part/models.py:3012 +#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 #: part/models.py:3156 part/models.py:3303 part/models.py:3324 #: part/models.py:3346 part/models.py:3477 part/models.py:3787 #: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1112 part/serializers.py:1718 +#: part/serializers.py:1120 part/serializers.py:1726 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -906,7 +902,7 @@ msgid "Build status code" msgstr "生产状态代码" #: build/models.py:302 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1449 +#: stock/models.py:838 stock/serializers.py:74 stock/serializers.py:1458 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "批量代码" @@ -1037,7 +1033,7 @@ msgstr "生产产出与订单不匹配" #: build/models.py:938 build/serializers.py:219 build/serializers.py:268 #: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1476 part/serializers.py:1876 +#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 #: stock/models.py:677 stock/models.py:1495 stock/serializers.py:603 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" @@ -1079,7 +1075,7 @@ msgstr "生产备注" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:170 stock/admin.py:159 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 #: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 @@ -1147,7 +1143,7 @@ msgstr "在BOM中找不到选定的库存项" #: build/models.py:1626 build/serializers.py:846 order/serializers.py:1171 #: order/serializers.py:1192 stock/models.py:358 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1168 stock/serializers.py:1280 +#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1224,9 +1220,9 @@ msgstr "输入生产产出的序列号" #: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 #: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1132 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1312 -#: stock/serializers.py:1568 stock/templates/stock/item_base.html:394 +#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 +#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 +#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 @@ -1262,7 +1258,7 @@ msgstr "自动为所需项分配对应的序列号" msgid "Serial numbers must be provided for trackable parts" msgstr "对于可追踪的部件,需要整数型数值" -#: build/serializers.py:355 stock/api.py:1025 +#: build/serializers.py:355 stock/api.py:1041 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" @@ -1299,7 +1295,7 @@ msgstr "已完成生产产出的仓储地点" #: build/serializers.py:519 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 #: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1456 +#: stock/serializers.py:932 stock/serializers.py:1465 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 @@ -1415,7 +1411,7 @@ msgstr "删除参数" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单指向相同的部件" -#: build/serializers.py:852 stock/serializers.py:1181 +#: build/serializers.py:852 stock/serializers.py:1190 msgid "Item must be in stock" msgstr "项目必须在库存中" @@ -1477,7 +1473,7 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:788 +#: stock/api.py:804 msgid "BOM Item" msgstr "BOM项" @@ -1486,7 +1482,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:820 part/serializers.py:1494 +#: part/serializers.py:828 part/serializers.py:1502 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 #: templates/js/translated/part.js:2149 @@ -1494,13 +1490,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1496 +#: build/serializers.py:1158 part/serializers.py:1504 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "正在生产" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1519 +#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -3910,19 +3906,31 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/validators.py:77 +#: common/validators.py:33 +#, fuzzy +#| msgid "No data rows provided" +msgid "No attachment model type provided" +msgstr "没有提供数据行" + +#: common/validators.py:39 +#, fuzzy +#| msgid "Invalid attachment directory" +msgid "Invalid attachment model type" +msgstr "非法的附件目录" + +#: common/validators.py:80 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:89 +#: common/validators.py:92 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:100 +#: common/validators.py:103 msgid "An empty domain is not allowed." msgstr "不允许空域。" -#: common/validators.py:102 +#: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "无效的域名: {domain}" @@ -3997,7 +4005,7 @@ msgstr "供应商列表" #: company/models.py:100 company/models.py:365 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:806 +#: company/templates/company/company_base.html:12 stock/api.py:822 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "公司" @@ -4210,7 +4218,7 @@ msgstr "选择商品" #: company/models.py:486 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:517 +#: company/templates/company/supplier_part.html:145 part/serializers.py:525 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4225,7 +4233,7 @@ msgid "Select manufacturer" msgstr "选择制造商" #: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:527 +#: company/templates/company/supplier_part.html:153 part/serializers.py:535 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 @@ -4300,7 +4308,7 @@ msgstr "" #: company/models.py:770 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:501 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4317,7 +4325,7 @@ msgstr "供应商" msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:777 part/serializers.py:512 +#: company/models.py:777 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4359,7 +4367,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" #: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1466 +#: stock/admin.py:228 stock/models.py:797 stock/serializers.py:1475 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 @@ -4459,7 +4467,7 @@ msgstr "删除该公司" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_test_report.html:84 -#: report/templates/report/inventree_test_report.html:163 +#: report/templates/report/inventree_test_report.html:162 #, fuzzy #| msgid "Part name" msgid "Part image" @@ -4483,7 +4491,7 @@ msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2032 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:819 -#: stock/models.py:820 stock/serializers.py:1216 +#: stock/models.py:820 stock/serializers.py:1225 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 @@ -4708,7 +4716,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:824 +#: part/admin.py:122 part/serializers.py:832 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4803,7 +4811,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:511 +#: part/bom.py:311 part/serializers.py:519 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 @@ -4853,10 +4861,10 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:823 part/stocktake.py:224 +#: part/serializers.py:831 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1082 +#: stock/serializers.py:918 stock/serializers.py:1091 #: stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:191 #: stock/templates/stock/location.html:203 @@ -6219,8 +6227,8 @@ msgstr "" msgid "Category Path" msgstr "类别路径" -#: part/admin.py:325 part/models.py:396 part/serializers.py:116 -#: part/serializers.py:259 part/serializers.py:378 +#: part/admin.py:325 part/models.py:396 part/serializers.py:124 +#: part/serializers.py:267 part/serializers.py:386 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 @@ -6247,13 +6255,13 @@ msgstr "" msgid "Part IPN" msgstr "" -#: part/admin.py:415 part/serializers.py:1266 +#: part/admin.py:415 part/serializers.py:1274 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1281 +#: part/admin.py:420 part/serializers.py:1289 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6276,83 +6284,95 @@ msgid "Filter by category depth" msgstr "" #: part/api.py:141 stock/api.py:330 +#, fuzzy +#| msgid "Levels" +msgid "Top Level" +msgstr "等级" + +#: part/api.py:143 +#, fuzzy +#| msgid "Create new part category" +msgid "Filter by top-level categories" +msgstr "新建商品类别" + +#: part/api.py:156 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 templates/js/translated/part.js:308 +#: part/api.py:179 templates/js/translated/part.js:308 #, fuzzy #| msgid "parent" msgid "Parent" msgstr "上级项" -#: part/api.py:165 +#: part/api.py:181 #, fuzzy #| msgid "Create new part category" msgid "Filter by parent category" msgstr "新建商品类别" -#: part/api.py:198 +#: part/api.py:214 msgid "Exclude Tree" msgstr "" -#: part/api.py:200 +#: part/api.py:216 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude sub-categories under the specified category" msgstr "从该选定的仓储地点排除库存项" -#: part/api.py:433 +#: part/api.py:449 #, fuzzy #| msgid "Units" msgid "Has Results" msgstr "单位" -#: part/api.py:600 +#: part/api.py:616 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:618 +#: part/api.py:634 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:634 +#: part/api.py:650 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:718 +#: part/api.py:734 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:865 +#: part/api.py:881 msgid "Valid" msgstr "" -#: part/api.py:866 +#: part/api.py:882 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:872 +#: part/api.py:888 msgid "This option must be selected" msgstr "" -#: part/api.py:1089 +#: part/api.py:1105 msgid "BOM Valid" msgstr "" -#: part/api.py:1492 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:393 part/serializers.py:1122 -#: part/templates/part/part_base.html:260 stock/api.py:775 +#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 +#: part/serializers.py:401 part/serializers.py:1130 +#: part/templates/part/part_base.html:260 stock/api.py:791 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2377 msgid "Category" msgstr "类别" -#: part/api.py:1780 +#: part/api.py:1796 msgid "Uses" msgstr "" @@ -6361,7 +6381,7 @@ msgstr "" msgid "Default Location" msgstr "默认仓储地点" -#: part/bom.py:171 part/serializers.py:825 +#: part/bom.py:171 part/serializers.py:833 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -7098,345 +7118,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 part/serializers.py:140 +#: part/serializers.py:118 +#, fuzzy +#| msgid "Part Category" +msgid "Parent Category" +msgstr "商品类别" + +#: part/serializers.py:119 templates/js/translated/part.js:309 +msgid "Parent part category" +msgstr "" + +#: part/serializers.py:126 part/serializers.py:148 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "子类别" -#: part/serializers.py:172 +#: part/serializers.py:180 msgid "Results" msgstr "" -#: part/serializers.py:173 +#: part/serializers.py:181 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:562 +#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:260 +#: part/serializers.py:268 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:384 +#: part/serializers.py:392 #, fuzzy #| msgid "Rejected" msgid "No parts selected" msgstr "已拒绝" -#: part/serializers.py:394 +#: part/serializers.py:402 #, fuzzy #| msgid "Set category" msgid "Select category" msgstr "设置类别" -#: part/serializers.py:429 +#: part/serializers.py:437 msgid "Original Part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:438 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:435 +#: part/serializers.py:443 msgid "Copy Image" msgstr "" -#: part/serializers.py:436 +#: part/serializers.py:444 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:442 part/templates/part/detail.html:277 +#: part/serializers.py:450 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:451 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:457 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:450 +#: part/serializers.py:458 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:464 #, fuzzy #| msgid "Company Notes" msgid "Copy Notes" msgstr "公司备注" -#: part/serializers.py:457 +#: part/serializers.py:465 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:475 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:477 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:484 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:518 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:528 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:826 +#: part/serializers.py:834 #, fuzzy #| msgid "External Link" msgid "External Stock" msgstr "外部链接" -#: part/serializers.py:828 +#: part/serializers.py:836 #, fuzzy #| msgid "Unallocate Stock" msgid "Unallocated Stock" msgstr "未分配库存" -#: part/serializers.py:831 +#: part/serializers.py:839 #, fuzzy #| msgid "Part Stock" msgid "Variant Stock" msgstr "商品库存" -#: part/serializers.py:861 part/templates/part/copy_part.html:9 +#: part/serializers.py:869 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:472 msgid "Duplicate Part" msgstr "复制部件" -#: part/serializers.py:862 +#: part/serializers.py:870 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:868 templates/js/translated/part.js:102 +#: part/serializers.py:876 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:869 +#: part/serializers.py:877 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:875 +#: part/serializers.py:883 msgid "Supplier Information" msgstr "" -#: part/serializers.py:876 +#: part/serializers.py:884 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:892 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:885 +#: part/serializers.py:893 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:890 +#: part/serializers.py:898 #, fuzzy #| msgid "Existing barcode found" msgid "Existing Image" msgstr "发现现有条码" -#: part/serializers.py:891 +#: part/serializers.py:899 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:916 #, fuzzy #| msgid "Part image not found" msgid "Image file does not exist" msgstr "未找到商品图像" -#: part/serializers.py:1114 +#: part/serializers.py:1122 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1124 +#: part/serializers.py:1132 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1134 +#: part/serializers.py:1142 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1140 +#: part/serializers.py:1148 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1149 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude stock items in external locations" msgstr "从该选定的仓储地点排除库存项" -#: part/serializers.py:1146 +#: part/serializers.py:1154 msgid "Generate Report" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1155 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1160 msgid "Update Parts" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1161 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1169 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1275 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1282 #, fuzzy #| msgid "Uses default currency" msgid "Minimum price currency" msgstr "使用默认货币" -#: part/serializers.py:1282 +#: part/serializers.py:1290 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1297 #, fuzzy #| msgid "Uses default currency" msgid "Maximum price currency" msgstr "使用默认货币" -#: part/serializers.py:1318 +#: part/serializers.py:1326 msgid "Update" msgstr "" -#: part/serializers.py:1319 +#: part/serializers.py:1327 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1350 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1349 +#: part/serializers.py:1357 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1360 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1719 +#: part/serializers.py:1727 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1735 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1736 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1733 +#: part/serializers.py:1741 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1742 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1747 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1748 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1753 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1754 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1780 +#: part/serializers.py:1788 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1781 +#: part/serializers.py:1789 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1811 +#: part/serializers.py:1819 msgid "No part column specified" msgstr "" -#: part/serializers.py:1855 +#: part/serializers.py:1863 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1866 msgid "No matching part found" msgstr "" -#: part/serializers.py:1861 +#: part/serializers.py:1869 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1878 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1886 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1899 +#: part/serializers.py:1907 msgid "At least one BOM item is required" msgstr "" @@ -8719,17 +8749,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:598 +#: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:601 +#: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:603 +#: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -9199,30 +9229,30 @@ msgstr "" msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report.html:130 +#: report/templates/report/inventree_test_report.html:129 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report.html:132 +#: report/templates/report/inventree_test_report.html:131 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report.html:139 +#: report/templates/report/inventree_test_report.html:138 #, fuzzy #| msgid "Restart required" msgid "No result (required)" msgstr "需要重启" -#: report/templates/report/inventree_test_report.html:141 +#: report/templates/report/inventree_test_report.html:140 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:154 +#: report/templates/report/inventree_test_report.html:153 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:168 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" @@ -9331,61 +9361,67 @@ msgid "Filter by location depth" msgstr "打印订单报表" #: stock/api.py:332 +#, fuzzy +#| msgid "Delete location" +msgid "Filter by top-level locations" +msgstr "删除仓储地" + +#: stock/api.py:347 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:353 +#: stock/api.py:369 stock/serializers.py:1085 #, fuzzy #| msgid "Print actions" msgid "Parent Location" msgstr "打印操作" -#: stock/api.py:354 +#: stock/api.py:370 #, fuzzy #| msgid "Delete location" msgid "Filter by parent location" msgstr "删除仓储地" -#: stock/api.py:609 templates/js/translated/table_filters.js:427 +#: stock/api.py:625 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:797 +#: stock/api.py:813 #, fuzzy #| msgid "Part name" msgid "Part Tree" msgstr "商品名称" -#: stock/api.py:827 +#: stock/api.py:843 msgid "Expiry date before" msgstr "" -#: stock/api.py:831 +#: stock/api.py:847 msgid "Expiry date after" msgstr "" -#: stock/api.py:834 stock/templates/stock/item_base.html:439 +#: stock/api.py:850 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:921 +#: stock/api.py:937 msgid "Quantity is required" msgstr "" -#: stock/api.py:927 +#: stock/api.py:943 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:958 +#: stock/api.py:974 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:968 +#: stock/api.py:984 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:999 +#: stock/api.py:1015 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9506,7 +9542,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:798 stock/serializers.py:1467 +#: stock/models.py:798 stock/serializers.py:1476 msgid "Packaging this stock item is stored in" msgstr "" @@ -9518,7 +9554,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:842 stock/serializers.py:1450 +#: stock/models.py:842 stock/serializers.py:1459 msgid "Batch code for this stock item" msgstr "" @@ -9634,7 +9670,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1657 stock/serializers.py:1356 +#: stock/models.py:1657 stock/serializers.py:1365 msgid "Duplicate stock items" msgstr "" @@ -9819,7 +9855,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "输入新项目的序列号" -#: stock/serializers.py:626 stock/serializers.py:1313 stock/serializers.py:1569 +#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 msgid "Destination stock location" msgstr "目标库存位置" @@ -9902,82 +9938,86 @@ msgstr "在BOM中找不到选定的库存项" msgid "No stock items selected" msgstr "库存项已创建" -#: stock/serializers.py:1021 stock/serializers.py:1084 +#: stock/serializers.py:1021 stock/serializers.py:1093 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1185 +#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: stock/serializers.py:1194 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1198 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1193 +#: stock/serializers.py:1202 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1217 +#: stock/serializers.py:1226 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1223 +#: stock/serializers.py:1232 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1240 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1241 stock/serializers.py:1495 +#: stock/serializers.py:1250 stock/serializers.py:1504 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1320 +#: stock/serializers.py:1329 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1325 +#: stock/serializers.py:1334 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1326 +#: stock/serializers.py:1335 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1331 +#: stock/serializers.py:1340 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1332 +#: stock/serializers.py:1341 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1342 +#: stock/serializers.py:1351 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1409 +#: stock/serializers.py:1418 #, fuzzy #| msgid "Change" msgid "No Change" msgstr "更改" -#: stock/serializers.py:1438 +#: stock/serializers.py:1447 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1457 +#: stock/serializers.py:1466 #, fuzzy #| msgid "Stock item created" msgid "Stock item status code" msgstr "库存项已创建" -#: stock/serializers.py:1485 +#: stock/serializers.py:1494 msgid "Stock transaction notes" msgstr "" @@ -10466,22 +10506,22 @@ msgstr "新建仓储地点" msgid "New Location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:297 +#: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 #, fuzzy #| msgid "Stock Location" msgid "stock location" msgstr "仓储地点" -#: stock/templates/stock/location.html:319 +#: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:392 +#: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:403 +#: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" msgstr "" @@ -12954,23 +12994,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2499 +#: templates/js/translated/forms.js:2500 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3101 +#: templates/js/translated/forms.js:3102 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3113 +#: templates/js/translated/forms.js:3114 msgid "Select Columns" msgstr "" @@ -13158,10 +13198,6 @@ msgstr "商品重复选项" msgid "Add Part Category" msgstr "增加商品类别" -#: templates/js/translated/part.js:309 -msgid "Parent part category" -msgstr "" - #: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -14170,10 +14206,6 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/stock.js:152 -msgid "Parent stock location" -msgstr "" - #: templates/js/translated/stock.js:166 #, fuzzy #| msgid "Location" @@ -15321,15 +15353,15 @@ msgstr "编辑项目权限" msgid "Permission to delete items" msgstr "删除项目权限" +#~ msgid "parent" +#~ msgstr "上级项" + #~ msgid "File comment" #~ msgstr "文件注释" #~ msgid "Filename must not be empty" #~ msgstr "文件名不能为空!" -#~ msgid "Invalid attachment directory" -#~ msgstr "非法的附件目录" - #, python-brace-format #~ msgid "Filename contains illegal character '{c}'" #~ msgstr "文件名包含非法字符 '{c}'" diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po index 169a89de3c..656c393e85 100644 --- a/src/frontend/src/locales/bg/messages.po +++ b/src/frontend/src/locales/bg/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po index 5389967e36..2e8e595d15 100644 --- a/src/frontend/src/locales/cs/messages.po +++ b/src/frontend/src/locales/cs/messages.po @@ -53,7 +53,7 @@ msgstr "Tisk štítků byl úspěšně dokončen" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "Notifikace" msgid "Mark as read" msgstr "Označit jako přečtené" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "výsledky" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "Zadejte hledaný text" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "Možnosti hledání" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" @@ -6884,4 +6884,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po index 2f98d6208b..678c958ca8 100644 --- a/src/frontend/src/locales/da/messages.po +++ b/src/frontend/src/locales/da/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index ca39120467..0fe99a2d95 100644 --- a/src/frontend/src/locales/de/messages.po +++ b/src/frontend/src/locales/de/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "Benachrichtigung" msgid "Mark as read" msgstr "Als gelesen markieren" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "Ergebnisse" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "Suchtext eingeben" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "Suchoptionen" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "Regex Suche" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "Volltextsuche" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "Bei der Suchanfrage ist ein Fehler aufgetreten" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "Keine Ergebnisse" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "Keine Ergebnisse für Suchanfrage verfügbar" diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po index 0459ed8fcd..05c9e9aed8 100644 --- a/src/frontend/src/locales/el/messages.po +++ b/src/frontend/src/locales/el/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po index 7ba665dbf8..3d135a820b 100644 --- a/src/frontend/src/locales/en/messages.po +++ b/src/frontend/src/locales/en/messages.po @@ -48,7 +48,7 @@ msgstr "Label printing completed successfully" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1071,35 +1071,35 @@ msgstr "Notification" msgid "Mark as read" msgstr "Mark as read" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "results" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "Enter search text" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "Search Options" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "Regex search" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "Whole word search" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "An error occurred during search query" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "No results" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "No results available for search query" diff --git a/src/frontend/src/locales/es-mx/messages.po b/src/frontend/src/locales/es-mx/messages.po index 8b396a1c13..99387a29a2 100644 --- a/src/frontend/src/locales/es-mx/messages.po +++ b/src/frontend/src/locales/es-mx/messages.po @@ -48,7 +48,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1044,35 +1044,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po index 9528735b2e..2fe33a67e8 100644 --- a/src/frontend/src/locales/es/messages.po +++ b/src/frontend/src/locales/es/messages.po @@ -53,7 +53,7 @@ msgstr "Impresión de etiqueta completada con éxito" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index 4a5d32bd56..bdc7645960 100644 --- a/src/frontend/src/locales/fa/messages.po +++ b/src/frontend/src/locales/fa/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po index 1b7b239356..980ee2ffd2 100644 --- a/src/frontend/src/locales/fi/messages.po +++ b/src/frontend/src/locales/fi/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index 774d9f39a2..227a71f050 100644 --- a/src/frontend/src/locales/fr/messages.po +++ b/src/frontend/src/locales/fr/messages.po @@ -53,7 +53,7 @@ msgstr "Impression terminée avec succès" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "Notification" msgid "Mark as read" msgstr "Marqué comme lu" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "résultats" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "Entrez un texte à rechercher" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "Options de recherche" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "Recherche par regex" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "Recherche par mot entier" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "Une erreur s'est produite lors de la recherche" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "Aucun résultat" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "Aucun résultat disponible pour la requête" diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po index 75083a7c97..aee0e6d1cd 100644 --- a/src/frontend/src/locales/he/messages.po +++ b/src/frontend/src/locales/he/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po index 593c7dd657..2f96ec03f3 100644 --- a/src/frontend/src/locales/hi/messages.po +++ b/src/frontend/src/locales/hi/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po index 6bee6e69ba..f7844360e4 100644 --- a/src/frontend/src/locales/hu/messages.po +++ b/src/frontend/src/locales/hu/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "Értesítés" msgid "Mark as read" msgstr "Megjelölés olvasottként" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "eredmények" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "Írd be a keresett szöveget" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "Keresési opciók" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "Regex keresés" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "Teljes szó keresés" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "Hiba történt a keresés közben" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "Nincs találat" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "Nincs találat a keresésre" diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index 1aa79117b4..f77ecda403 100644 --- a/src/frontend/src/locales/it/messages.po +++ b/src/frontend/src/locales/it/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 9bab395af3..f930c60b08 100644 --- a/src/frontend/src/locales/ja/messages.po +++ b/src/frontend/src/locales/ja/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "既読にする" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po index 1500977d17..9595420143 100644 --- a/src/frontend/src/locales/ko/messages.po +++ b/src/frontend/src/locales/ko/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/lv/messages.po b/src/frontend/src/locales/lv/messages.po index c2083e6ec2..2b549a8f5a 100644 --- a/src/frontend/src/locales/lv/messages.po +++ b/src/frontend/src/locales/lv/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index df00a61ead..4aa0f5a470 100644 --- a/src/frontend/src/locales/nl/messages.po +++ b/src/frontend/src/locales/nl/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po index 689030fc0b..10eedb7632 100644 --- a/src/frontend/src/locales/no/messages.po +++ b/src/frontend/src/locales/no/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "Varsel" msgid "Mark as read" msgstr "Merk som lest" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "resultater" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "Skriv inn søketekst" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "Alternativer for søk" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "Regex-søk" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "Helordsøk" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "Det oppstod en feil under søk" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "Ingen resultater" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "Ingen resultater tilgjengelig for søk" diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po index 237671394b..4d321fdee6 100644 --- a/src/frontend/src/locales/pl/messages.po +++ b/src/frontend/src/locales/pl/messages.po @@ -53,7 +53,7 @@ msgstr "Drukowanie etykiety zakończone powodzeniem" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "Powiadomienie" msgid "Mark as read" msgstr "Oznacz jako przeczytane" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "wyniki" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "Wpisz frazę, którą chcesz wyszukać" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "Opcje wyszukiwania" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "Wyszukiwanie Regex" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "Wyszukiwanie całych słów" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "Wystąpił błąd podczas wyszukiwania" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "Brak wyników" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "Brak dostępnych wyników wyszukiwania" diff --git a/src/frontend/src/locales/pseudo-LOCALE/messages.po b/src/frontend/src/locales/pseudo-LOCALE/messages.po index ff11ee3edc..068c697cf2 100644 --- a/src/frontend/src/locales/pseudo-LOCALE/messages.po +++ b/src/frontend/src/locales/pseudo-LOCALE/messages.po @@ -88,7 +88,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1115,35 +1115,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/pt-br/messages.po b/src/frontend/src/locales/pt-br/messages.po index 910a7e1fed..5d3fc229f1 100644 --- a/src/frontend/src/locales/pt-br/messages.po +++ b/src/frontend/src/locales/pt-br/messages.po @@ -48,7 +48,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1044,35 +1044,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po index edd092cd43..04a8e0d7ec 100644 --- a/src/frontend/src/locales/pt/messages.po +++ b/src/frontend/src/locales/pt/messages.po @@ -53,7 +53,7 @@ msgstr "Impressão da etiqueta concluída com sucesso" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1080,35 +1080,35 @@ msgstr "Notificação" msgid "Mark as read" msgstr "Marcar como lida" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "resultados" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "Introduzir texto de pesquisa" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "Opções de Pesquisa" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "Busca por Regex" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "Pesquisar palavras inteiras" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "Ocorreu um erro durante a busca" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "Sem resultados" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "Não há resultados disponíveis para a pesquisa" diff --git a/src/frontend/src/locales/ro/messages.po b/src/frontend/src/locales/ro/messages.po index dd09c05243..17c3e75607 100644 --- a/src/frontend/src/locales/ro/messages.po +++ b/src/frontend/src/locales/ro/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index a361343c8f..7bbbc0cb04 100644 --- a/src/frontend/src/locales/ru/messages.po +++ b/src/frontend/src/locales/ru/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "Пометить как прочитанное" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "результаты" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "Введите слова для поиска" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "Параметры поиска" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "Поиск по выражению" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "Произошла ошибка во время поиска запроса" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "Нет результатов" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "Нет доступных результатов для поискового запроса" diff --git a/src/frontend/src/locales/sk/messages.po b/src/frontend/src/locales/sk/messages.po index ba88b2c6d9..48899aa3fc 100644 --- a/src/frontend/src/locales/sk/messages.po +++ b/src/frontend/src/locales/sk/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po index 67f344a410..ef1edd4392 100644 --- a/src/frontend/src/locales/sl/messages.po +++ b/src/frontend/src/locales/sl/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/sr/messages.po b/src/frontend/src/locales/sr/messages.po index eeca8f9263..542a2c16f8 100644 --- a/src/frontend/src/locales/sr/messages.po +++ b/src/frontend/src/locales/sr/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index 958825baa3..61abdcbff8 100644 --- a/src/frontend/src/locales/sv/messages.po +++ b/src/frontend/src/locales/sv/messages.po @@ -53,7 +53,7 @@ msgstr "Utskrift av etiketter lyckades" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "Avisering" msgid "Mark as read" msgstr "Markera som läst" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "resultat" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "Ange sökord" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "Sökalternativ" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "Regex sökning" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "Hela ordsökningen" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "Ett fel inträffade under sökfrågan" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "Inga resultat" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "Inga resultat tillgängliga för sökfrågan" diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po index 9788329e60..4c32433626 100644 --- a/src/frontend/src/locales/th/messages.po +++ b/src/frontend/src/locales/th/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index bdc9e84c46..cf992e6611 100644 --- a/src/frontend/src/locales/tr/messages.po +++ b/src/frontend/src/locales/tr/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "sonuçlar" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "Arama metnini gir" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "Arama Seçenekleri" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "Regex arama" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "Tam kelime arama" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "Arama sorgusu sırasında bir hata oluştu" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "Sonuç yok" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "Arama sorgusu için sonuç yok" diff --git a/src/frontend/src/locales/uk/messages.po b/src/frontend/src/locales/uk/messages.po index 02dea9f821..2a4d7060b8 100644 --- a/src/frontend/src/locales/uk/messages.po +++ b/src/frontend/src/locales/uk/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po index 4ecf959f35..f9ac3f546a 100644 --- a/src/frontend/src/locales/vi/messages.po +++ b/src/frontend/src/locales/vi/messages.po @@ -53,7 +53,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1076,35 +1076,35 @@ msgstr "Thông báo" msgid "Mark as read" msgstr "Đánh dấu đã đọc" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "kết quả" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "Nhập văn bản tìm kiếm" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "Tùy chọn tìm kiếm" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "Tìm kiếm regex" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "Tìm phù hợp toàn bộ từ" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "Lỗi trong quá trình truy vấn tìm kiếm" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "Không có kết quả" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "Không có kết quả nào được tìm thấy với truy vấn tìm kiếm" diff --git a/src/frontend/src/locales/zh-hans/messages.po b/src/frontend/src/locales/zh-hans/messages.po index 4e449d341f..a7280c2474 100644 --- a/src/frontend/src/locales/zh-hans/messages.po +++ b/src/frontend/src/locales/zh-hans/messages.po @@ -48,7 +48,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1044,35 +1044,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr "" diff --git a/src/frontend/src/locales/zh-hant/messages.po b/src/frontend/src/locales/zh-hant/messages.po index e0c172c6fc..fcff555bf6 100644 --- a/src/frontend/src/locales/zh-hant/messages.po +++ b/src/frontend/src/locales/zh-hant/messages.po @@ -48,7 +48,7 @@ msgstr "" #: src/components/forms/ApiForm.tsx:506 #: src/components/forms/fields/ApiFormField.tsx:295 #: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 #: src/pages/part/PartPricingPanel.tsx:71 @@ -1044,35 +1044,35 @@ msgstr "" msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:77 +#: src/components/nav/SearchDrawer.tsx:78 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:337 +#: src/components/nav/SearchDrawer.tsx:349 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:364 +#: src/components/nav/SearchDrawer.tsx:376 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:367 +#: src/components/nav/SearchDrawer.tsx:379 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:377 +#: src/components/nav/SearchDrawer.tsx:389 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:416 +#: src/components/nav/SearchDrawer.tsx:430 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:427 +#: src/components/nav/SearchDrawer.tsx:441 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:430 +#: src/components/nav/SearchDrawer.tsx:444 msgid "No results available for search query" msgstr ""