diff --git a/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po index d5359a3a0d..55d5fd2370 100644 --- a/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Language: ar_SA\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "نقطة نهاية API غير موجودة" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "المستخدم ليس لديه الصلاحية لعرض هذا النموذج" @@ -65,11 +65,11 @@ msgstr "تأكيد البريد الإلكتروني" msgid "You must type the same email each time." msgstr "يجب عليك كتابة نفس البريد الإلكتروني كل مرة." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "عنوان البريد الإلكتروني الرئيسي المقدم غير صالح." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "لم تتم الموافقة على نطاق البريد الإلكتروني المقدم." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "تعذّر تحويل {original} إلى {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "الكمية المقدمة غير صحيحة" @@ -105,22 +105,22 @@ msgstr "أدخل التاريخ" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "ملاحظات" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "القيمة '{name}' لا تظهر في تنسيق النمط" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "القيمة المقدمة لا تتطابق مع النمط المطلوب: " @@ -164,51 +164,51 @@ msgstr "إزالة علامات HTML من هذه القيمة" msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "خطأ فى الاتصال" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "" @@ -220,117 +220,121 @@ msgstr "" msgid "Email" msgstr "البريد الإلكتروني" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "خطأ في تشغيل التحقق من صحة الإضافات" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "البيانات الوصفية يجب أن تكون كائن القالب بايثون" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "" msgid "Currency" msgstr "" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "" @@ -521,11 +525,11 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "" @@ -546,23 +550,23 @@ msgstr "" msgid "Parent Build" msgstr "" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "" @@ -593,7 +597,7 @@ msgstr "" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "" @@ -601,11 +605,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "" @@ -883,8 +887,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "" @@ -900,7 +904,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "" @@ -962,9 +966,9 @@ msgstr "" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "" @@ -999,7 +1003,7 @@ msgstr "" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "" @@ -1057,8 +1061,8 @@ msgstr "" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "" @@ -1082,7 +1086,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "" @@ -1139,7 +1143,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1272,7 +1276,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "" @@ -1527,31 +1531,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "" @@ -1654,8 +1658,8 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "" @@ -1677,8 +1681,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1686,7 +1690,7 @@ msgstr "" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "" @@ -1756,7 +1760,7 @@ msgstr "" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "" @@ -2430,7 +2434,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2524,7 +2528,7 @@ msgstr "" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "" @@ -2931,7 +2935,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4448,7 +4452,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4533,7 +4537,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "" @@ -6382,7 +6394,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "" @@ -6390,7 +6402,7 @@ msgstr "" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8766,200 +8778,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index aea6591f9e..d90b2d90f6 100644 --- a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "Не е намерена крайна точка на API" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Елементите трябва да се предоставят, като списък" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Потребителя няма нужното разрешение, за да вижда този модел" @@ -65,11 +65,11 @@ msgstr "Потвърждение на електронната поща" msgid "You must type the same email each time." msgstr "Трябва ла въведете една и съща електронна поща." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Въведената основна електронна поща е невалидна." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Въведеният домейн на електронната поща не е утвърден." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Преобразуването на {original} в {unit} не беше успешно" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Въведена е недопустима стойност" @@ -105,22 +105,22 @@ msgstr "Въведи дата" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Бележки" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Значението '{name}' не отговаря на шаблона" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Въведеното значение не отговаря на задължителния шаблон: " @@ -164,51 +164,51 @@ msgstr "Премахнете HTML маркерите от тази стойно msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Грешка при съединението" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Сървърът отговари с невалиден статусен код" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Възникна изключение" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Сървърът отговори с невалидна стойност за дължината на съдържанието (Content-Length)" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Размерът на изображението е твърде голям" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Сваляното на изображение превиши максималния размер" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Отдалеченият сървър върна празен отговор" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "" @@ -220,117 +220,121 @@ msgstr "" msgid "Email" msgstr "" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Трябва да активирате двойно оторизиране преди да направите, каквото и да е." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "" msgid "Currency" msgstr "" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "" @@ -521,11 +525,11 @@ msgstr "Китайски (опростен)" msgid "Chinese (Traditional)" msgstr "Китайски (традиционен)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "" @@ -546,23 +550,23 @@ msgstr "" msgid "Parent Build" msgstr "" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "Част" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "" @@ -593,7 +597,7 @@ msgstr "" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "" @@ -601,11 +605,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "" @@ -883,8 +887,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "" @@ -900,7 +904,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "" @@ -962,9 +966,9 @@ msgstr "" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "" @@ -999,7 +1003,7 @@ msgstr "" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "" @@ -1057,8 +1061,8 @@ msgstr "" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "" @@ -1082,7 +1086,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "" @@ -1139,7 +1143,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1272,7 +1276,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "" @@ -1527,31 +1531,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Потребител" @@ -1654,8 +1658,8 @@ msgstr "Потребител" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "" @@ -1677,8 +1681,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1686,7 +1690,7 @@ msgstr "" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "" @@ -1756,7 +1760,7 @@ msgstr "" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "" @@ -2430,7 +2434,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2524,7 +2528,7 @@ msgstr "" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "" @@ -2931,7 +2935,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4448,7 +4452,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4533,7 +4537,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Изпратено" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "" @@ -6382,7 +6394,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "" @@ -6390,7 +6402,7 @@ msgstr "" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Цялостна наличност" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8766,200 +8778,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index e1d7e2996f..3b6dedbd31 100644 --- a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API endpoint nebyl nalezen" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "Seznam položek musí být k dispozici pro hromadnou operaci" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Položky musí být uvedeny jako seznam" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Zadán neplatný seznam položek" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "Všechny filtry musí být použity s Pravda" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "Zadaným kritériím neodpovídají žádné položky" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "Nebyla poskytnuta žádná data" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "Toto pole musí být unikátní." -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Uživatel nemá právo zobrazit tento model" @@ -65,11 +65,11 @@ msgstr "Potvrzení emailové adresy" msgid "You must type the same email each time." msgstr "Pokaždé musíte zadat stejný email." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Zadaná primární e-mailová adresa je neplatná." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Zadaná e-mailová doména není povolena." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Nelze převést {original} na {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" @@ -105,22 +105,22 @@ msgstr "Zadejte datum" msgid "Invalid decimal value" msgstr "Neplaté desetinné číslo" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Poznámky" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Hodnota '{name}' neodpovídá formátu vzoru" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Poskytnutá hodnota neodpovídá požadovanému vzoru: " @@ -164,51 +164,51 @@ msgstr "Odstranit HTML tagy z této hodnoty" msgid "Data contains prohibited markdown content" msgstr "Data obsahují zakázaný markdown obsah" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "Neplatná URH: žádný název hostitele" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "Neplatná URL: nelze zjistit název hostitele" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "URL směřuje na soukromou nebo rezervovanou IP adresu" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "Příliš mnoho přesměrování" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Chyba spojení" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Server odpověděl s neplatným stavovým kódem" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Došlo k výjimce" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Server odpověděl s neplatnou hodnotou Content-Length" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Velikost obrázku je příliš velká" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Stahování obrázku překročilo maximální velikost" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Vzdálený server vrátil prázdnou odpověď" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "Zadaná URL adresa není platný soubor obrázku" @@ -220,117 +220,121 @@ msgstr "Přihlásit se do aplikace" msgid "Email" msgstr "E-mail" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "Ověření CSRF se nezdařilo. Ujistěte se, že INVENTREE_SITE_URL a INVENTREE_TRUSTED_ORIGINS jsou nastaveny správně." + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Před tím, než budete dělat cokoli jiného, musíte zapnout dvoufaktorové ověřování." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Chyba při ověření pluginu" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metadata musí být objekt python dict" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Metadata pluginu" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "Pole metadat JSON pro použití externími pluginy" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Nesprávně naformátovaný vzor" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Neznámý formát klíče" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Chybí požadovaný klíč" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Referenční pole nemůže být prázdné" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Referenční číslo musí odpovídat požadovanému vzoru" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Referenční číslo je příliš velké" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Název" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Popis" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Popis (volitelně)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Cesta" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplicitní názvy nemohou existovat pod stejným nadřazeným názvem" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Poznámky (volitelné)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Data čárového kódu" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Data čárového kódu třetí strany" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Hash čárového kódu" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Jedinečný hash dat čárového kódu" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Nalezen existující čárový kód" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Chyba serveru" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Musí být platné číslo" msgid "Currency" msgstr "Měna" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Vyberte měnu z dostupných možností" @@ -521,11 +525,11 @@ msgstr "Čínština (zjednodušená)" msgid "Chinese (Traditional)" msgstr "Čínština (tradiční)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "Dostupná aktualizace" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "Aktualizace pro InvenTree je k dispozici" @@ -537,7 +541,7 @@ msgstr "Neplatná fyzikální jednotka" msgid "Not a valid currency code" msgstr "Neplatný kód měny" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Stav objednávky" @@ -546,23 +550,23 @@ msgstr "Stav objednávky" msgid "Parent Build" msgstr "Nadřazená sestava" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "Zahrnout varianty" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "Zahrnout varianty" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "Zahrnout varianty" msgid "Part" msgstr "Díl" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Kategorie" @@ -593,7 +597,7 @@ msgstr "Kategorie" msgid "Ancestor Build" msgstr "Sestava předků" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Přiřazeno mě" @@ -601,11 +605,11 @@ msgstr "Přiřazeno mě" msgid "Assigned To" msgstr "Přiřazeno" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Vytvořeno před" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Vytvořeno po" @@ -641,99 +645,99 @@ msgstr "Dokončeno před" msgid "Completed after" msgstr "Dokončeno po" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "Min. datum" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "Max datum" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "Vyloučit strom" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Sestavení musí být zrušeno před odstraněním" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Spotřební materiál" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Volitelné" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Sestava" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Sledováno" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Testovatelné" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Objednávka nevyřízená" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Přiděleno" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "Spotřebováno" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Dostupné" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "Na objednávku" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "Sestava nenalezena" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Výrobní příkaz" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Lokace" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "Výstup" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "Filtrovat podle ID výstupní položky zásoby. Použijte 'null' pro nalezení odinstalovaných položek sestavení." @@ -773,9 +777,9 @@ msgstr "Cílové datum musí být po datu zahájení" msgid "Build Order Reference" msgstr "Referenční číslo výrobního příkazu" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Referenční číslo prodejní objednávky" msgid "Sales Order to which this build is allocated" msgstr "Prodejní objednávka, které je tato stavba přiřazena" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Zdrojové umístění" @@ -821,7 +825,7 @@ msgstr "Externí sestavení" msgid "This build order is fulfilled externally" msgstr "Tento výrobní příkaz je plněn externě" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Cílová lokace" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Stavový kód sestavení" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Kód dávky" @@ -883,8 +887,8 @@ msgstr "Cílové datum dokončení" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cílové datum dokončení sestavení. Sestavení bude po tomto datu v prodlení." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Datum dokončení" @@ -900,7 +904,7 @@ msgstr "Vystavil" msgid "User who issued this build order" msgstr "Uživatel, který vystavil tento výrobní příkaz" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Priorita tohoto výrobního příkazu" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Kód projektu" @@ -962,9 +966,9 @@ msgstr "Výstup neodpovídá výrobnímu příkazu" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" @@ -999,7 +1003,7 @@ msgstr "Vytvořit objekt" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Množství musí být 1 pro zřetězený sklad" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zabrané množství ({q}) nesmí překročit dostupné skladové množství ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Skladová položka je nadměrně zabrána" @@ -1057,8 +1061,8 @@ msgstr "Skladová položka je nadměrně zabrána" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Skladové položky" @@ -1082,7 +1086,7 @@ msgstr "Cílová skladová položka" msgid "Build Level" msgstr "Úroveň sestavení" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Název dílu" @@ -1139,7 +1143,7 @@ msgstr "Automaticky zvolit sériová čísla" msgid "Automatically allocate required items with matching serial numbers" msgstr "Automaticky přidělit požadované položky s odpovídajícími sériovými čísly" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "Následující sériová čísla již existují nebo jsou neplatná" @@ -1272,7 +1276,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 výrobní příkaz" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "Položka musí být skladem" @@ -1385,8 +1389,8 @@ msgstr "Informace instalace" msgid "Build" msgstr "Sestavení" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Díl dodavatele" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Povolit varianty" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "Položka kusovníku" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "Ve výrobě" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "Naplánováno na sestavení" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Externí zásoby" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Dostupné zásoby" @@ -1527,31 +1531,31 @@ msgstr "Opožděný výrobní příkaz" msgid "Build order {bo} is now overdue" msgstr "Objednávka sestavy {bo} je nyní opožděná" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "Má miniaturu" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "Je odkaz" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "Je soubor" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "Uživatel nemá oprávnění k odstranění těchto příloh" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "Uživatel nemá povolení k úpravě této přílohy" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "Uživatel nemá oprávnění k odstranění této přílohy" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "Tento výběr je uzamčen" @@ -1571,8 +1575,8 @@ msgstr "Nejsou uvedeny žádné platné kódy měn" msgid "No plugin" msgstr "Žádný plugin" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "Tagy" @@ -1645,8 +1649,8 @@ msgstr "Klíčový text musí být jedinečný" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Uživatel" @@ -1654,8 +1658,8 @@ msgstr "Uživatel" msgid "Price break quantity" msgstr "Množství cenové slevy" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Cena" @@ -1677,8 +1681,8 @@ msgstr "Název tohoto webhooku" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktivní" @@ -1686,7 +1690,7 @@ msgstr "Aktivní" msgid "Is this webhook active" msgstr "Je tento webhook aktivní" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Token" @@ -1756,7 +1760,7 @@ msgstr "Název" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "Platné volby pro tento parametr (oddělené čárkami)" msgid "Selection list for this parameter" msgstr "Seznam výběru pro tento parametr" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Povoleno" @@ -2204,8 +2208,8 @@ msgstr "ID modelu" msgid "ID of the target model for this parameter" msgstr "ID cílového modelu pro tento parametr" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Šablona" @@ -2262,7 +2266,7 @@ msgstr "Datum a čas skenování čárového kódu" msgid "URL endpoint which processed the barcode" msgstr "Koncový bod URL, který zpracoval čárový kód" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Kontext" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "Emailové vlákna" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Klíč" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} zrušeno" msgid "A order that is assigned to you was canceled" msgstr "Objednávka, která je vám přidělena, byla zrušena" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Přijaté položky" @@ -2524,7 +2528,7 @@ msgstr "Název souboru" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "Typ modelu" @@ -2914,8 +2918,8 @@ msgstr "Díly jsou ve výchozím nastavení šablony" msgid "Parts can be assembled from other components by default" msgstr "Díly lze ve výchozím nastavení sestavit z jiných komponentů" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Komponent" @@ -2931,7 +2935,7 @@ msgstr "Možné zakoupit" msgid "Parts are purchaseable by default" msgstr "Díly jsou zakoupitelné ve výchozím nastavení" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Prodejné" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "Zaznamenávat chyby, které se vyskytnou při vytváření reportů" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Velikost stránky" @@ -4128,49 +4132,49 @@ msgstr "Zobrazit položky na poslední úrovni" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "Automaticky zobrazit položky místo podúrovní pro umístění nebo kategorie bez podkategorií" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "Všechny modely" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "Není zadán typ modelu přílohy" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "Neplatný typ přílohy modelu" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "Velikost souboru překračuje maximální limit nahrávání {max_size} MB" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "Neplatný název souboru" -#: common/validators.py:126 +#: common/validators.py:127 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:138 +#: common/validators.py:139 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:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Prázdná doména není povolena." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Neplatný název domény: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "Hodnota musí být napsána velkými písmeny" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "Hodnota musí být platný variabilní identifikátor" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "Dodavatel je aktivní" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Výrobce" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Společnost" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Kontaktní e-mailová adresa" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Kontakt" @@ -4297,7 +4301,7 @@ msgstr "DIČ" msgid "Company Tax ID" msgstr "DIČ společnosti" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Adresa" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "Odkaz na informace o adrese (externí)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Výrobce dílu" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Vyberte výrobce" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "MPN" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Odkazovaný díl výrobce musí odkazovat na stejný základní díl" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Dodavatel" @@ -4448,7 +4452,7 @@ msgstr "Dodavatel" msgid "Select supplier" msgstr "Vyberte dodavatele" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Skladová evidence dodavatele" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimální poplatek (např. poplatek za skladování)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Balení" @@ -4533,7 +4537,7 @@ msgstr "Výchozí měna používaná pro tohoto dodavatele" msgid "Company Name" msgstr "Jméno společnosti" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "Skladem" @@ -4643,11 +4647,11 @@ msgstr "Některá povinná pole nebyla namapována" #: importer/models.py:413 msgid "Completed Row Count History" -msgstr "" +msgstr "Dokončená historie počtu řádků" #: importer/models.py:416 msgid "Row Count History" -msgstr "" +msgstr "Historie počtu řádků" #: importer/models.py:439 msgid "ID" @@ -4722,7 +4726,7 @@ msgstr "Původní data řádku" msgid "Errors" msgstr "Chyby" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Platné" @@ -4838,7 +4842,7 @@ msgstr "Počet kopií, které se mají tisknout pro každý štítek" msgid "Connected" msgstr "Připojeno" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Neznámý" @@ -4942,7 +4946,7 @@ msgstr "Klíč vlastnosti" msgid "Value of the property" msgstr "Hodnota vlastnosti" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Skupina" @@ -4966,118 +4970,118 @@ msgstr "Maximální pokrok" msgid "Maximum value for progress type, required if type=progress" msgstr "Maximální hodnota pro pokrok typu, vyžadováno pokud typ=pokrok" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Označení objednávky" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "Vynikající" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "Má projektový kód" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Vytvořil(a)" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "Vytvořeno před" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "Vytvořeno po" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "Má počáteční datum" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "Datum začátku před" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "Datum začátku po" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "Má cílové datum" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "Cílové datum před" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "Cílové datum po" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "Aktualizováno před" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "Aktualizováno po" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "Má cenu" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "Dokončeno před" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "Dokončeno po" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "Externí výrobní příkaz" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Objednávka" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "Objednávka byla dokončena" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Interní díl" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "Objednávka čeká na vyřízení" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Dokončeno" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "Má zásilku" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "Zásilka nebyla nalezena" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Nákupní objednávka" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Nákupní objednávka" msgid "Sales Order" msgstr "Prodejní objednávka" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Vratka" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "Převodní příkaz" @@ -5135,11 +5139,11 @@ msgstr "Adresa nesouhlasí s vybranou společností" msgid "Order description (optional)" msgstr "Popis objednávky (volitelné)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Vyberte kód projektu pro tuto objednávku" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Odkaz na externí stránku" @@ -5151,7 +5155,7 @@ msgstr "Datum zahájení" msgid "Scheduled start date for this order" msgstr "Plánované datum zahájení této objednávky" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Cílené datum" @@ -5184,487 +5188,487 @@ msgstr "Kontaktní bod pro tuto objednávku" msgid "Company address for this order" msgstr "Adresa společnosti pro tuto objednávku" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Číslo objednávky" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Stav" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Stav objednávky" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Společnost, od které se položky objednávají" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Reference dodavatele" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Referenční kód objednávky dodavatele" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "přijal" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "Datum dokončení objednávky" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Místo určení" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "Cílové místo pro přijaté položky" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "Dodavatel dílu se musí shodovat s dodavatelem PO" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "Řádková položka neodpovídá nákupní objednávce" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "Řádkové položce chybí propojený díl" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "Množství musí být kladné" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "Sériová čísla nemohou být přiřazena virtuálním dílům" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "Povolit jakékoliv zásoby (serializované nebo neserializované)" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "Pouze serializované zásoby" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "Pouze neserializované zásoby" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Zákazník" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Společnost, jíž se položky prodávají" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "Stav prodejní objednávky" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Reference zákazníka " -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Referenční kód objednávky zákazníka" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Datum odeslání" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "odesláno společností" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "Objednávka je již dokončena" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "Objednávka je již zrušena" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Pouze otevřená objednávka může být označena jako kompletní" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Objednávku nelze dokončit, protože dodávky jsou nekompletní" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "Objednávka nemůže být dokončena, protože jsou neúplné přiřazení" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "Objednávka nemůže být dokončena, protože jsou neúplné řádkové položky" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "Objednávka je uzamčena a nelze ji upravit" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Množství položky" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "Číslo linky" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "Číslo řádku pro tuto položku (nepovinné)" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Označení řádkové položky" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Poznámky k řádkovým položkám" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Cílové datum pro tuto řádkovou položku (pro použití cílového data z objednávky ponechte prázdné)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Popis řádkové položky (nepovinné)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "Dodatečný kontext pro tento řádek" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Cena za jednotku" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "Řádková položka nákupní objednávky" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "Dodavatelský díl musí odpovídat dodavateli" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "Objednávka sestavení musí být označená jako externí" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "Objednávka sestavení může být propojena pouze s montážními díly" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "Výrobní příkaz musí odpovídat lince předmětu dílu" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "Externí výrobní příkaz je vyžadován pro montážní díly" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Díl dodavatele" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Doručeno" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Počet přijatých položek" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Nákupní cena" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Jednotková nákupní cena" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "Externí výrobní příkaz který má být splněn touto linkovou položkou" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "Nákupní příkaz extra linka" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "Řádková položka prodejní objednávky" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "K prodejní objednávce lze přiřadit pouze prodejné díly" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Prodejní cena" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Jednotková prodejní cena" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Odesláno" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Odeslané množství" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "Zásilka prodejní objednávky" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "Adresa zásilky musí odpovídat adrese zákazníka" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "Dodací adresa pro tuto zásilku" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Datum odeslání" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Datum doručení" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Datum doručení zásilky" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Kontroloval(a)" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Uživatel, který zkontroloval tuto zásilku" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Doprava" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Číslo zásilky" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Sledovací číslo" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Informace o sledování zásilky" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Číslo faktury" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Referenční číslo přiřazené faktury" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "Zásilka již byla odeslána" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "Zásilka nemá žádné přidělené skladové položky" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "Zásilka musí být zkontrolována než může být dokončená" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "Prodejní příkaz extra linka" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "Přidělení prodejní objednávky" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "Skladová položka nebyla přiřazena" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "Nelze přidělit skladovou položku na řádek s jiným dílem" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "Nelze přidělit skladovou položku na řádek bez dílu" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Přidělené množství nesmí překročit množství zásob" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Zabrané množství musí být větší než nula" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "Množství musí být 1 pro serializovanou skladovou položku" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "Prodejní objednávka neodpovídá zásilce" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "Zásilka neodpovídá prodejní objednávce" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Řádek" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Odkaz na zásilku z prodejní objednávky" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Položka" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Vyberte skladovou položku pro přidělení" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Zadejte množství pro přidělení zásob" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "Reference návratové objednávky" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Společnost, od které se vrací položky" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "Stav návratové objednávky" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "Linkový předmět vratky" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "Zásobní položka musí být specifikována" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "Množství vratky přesahuje množstvní zásob" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "Množstvní vratky musí být více než nula" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "Neplatné množství pro sériovou skladovou položku" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Vyberte položku pro vrácení od zákazníka" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Datum přijetí" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "Datum příjetí této vratky" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Výsledek" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Výsledky pro tuto položku" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Náklady spojené s návratem nebo opravou této položky" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "Vratka extra linka" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "Reference převodního příkazu" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "Stav převodního příkazu" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "Zdroj pro přenášené položky" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "Cíl pro přenášené položky" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "Spotřebovat zásoby" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "Spíše než převést zásoby na místo určení, \"konzumovat\" je odebráním převedeného množství z přidělených zásob" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "Příkaz nelze dokončit bez uvedené cílové lokace" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "Příkaz nelze dokončit, dokud nebude plně přidělen" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "Převodní příkaz položky" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "převedeno" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "převedené množství" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "Přidělení převodního příkazu" @@ -5692,7 +5696,7 @@ msgstr "Kopírovat extra řádky" msgid "Copy extra line items from the original order" msgstr "Kopírovat extra řádkové položky z původní objednávky" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Kopírovat parametry" @@ -5714,11 +5718,11 @@ msgstr "Dokončené řádky" #: order/serializers.py:132 msgid "Custom Status Key" -msgstr "" +msgstr "Vlastní stavový klíč" #: order/serializers.py:133 msgid "Update order status to a custom value for this logical value" -msgstr "" +msgstr "Aktualizovat stav objednávky na vlastní hodnotu pro tuto logickou hodnotu" #: order/serializers.py:199 msgid "Duplicate Order" @@ -5730,15 +5734,15 @@ msgstr "Specifikujte možnosti pro duplikaci této objednávky" #: order/serializers.py:221 msgid "Custom status key must be an integer" -msgstr "" +msgstr "Vlastní stavový klíč musí být celé číslo" #: order/serializers.py:228 msgid "Invalid custom status key" -msgstr "" +msgstr "Neplatný vlastní stavový klíč" #: order/serializers.py:231 msgid "Invalid custom status key for this order status" -msgstr "" +msgstr "Neplatný vlastní stavový klíč pro stav této objednávky" #: order/serializers.py:305 msgid "Invalid order ID" @@ -5784,11 +5788,11 @@ msgstr "Sloučit položky" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Sloučit položky se stejným dílem, místem určení a cílovým datem do jedné řádkové položky" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "Číslo zboží (SKU)" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Interní číslo dílu" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Zadat kód šarže pro příchozí skladové položky" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Datum expirace" @@ -6056,123 +6060,131 @@ msgstr "Vratka po termínu vrácení" msgid "Return order {ro} is now overdue" msgstr "Vratka {ro} je nyní opožděná" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "Označené" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "Filtrovat podle kategorií s hvězdičkou" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Hloubka" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "Filtrovat podle hloubky kategorie" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "Nejvyšší úroveň" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "Filtrovat podle nejvyšších kategorií" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "Kaskáda" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "Zahrnout podkategorie do filtrovaných výsledků" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "Předek" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "Filtrovat podle nadřazené kategorie" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "Vyloučit podkategorie v zadané kategorii" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "Maximální úroveň" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "Omezení hloubky stromu kategorie" + +#: part/api.py:442 msgid "Has Results" msgstr "Má výsledky" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "Je varianta" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "Je revizí" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "Má revize" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "Kusovník schválen" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "Kaskádové kategorie" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "Pokud je pravda, zahrne položky z podkategorií dané kategorie" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Filtrovat podle numerického ID kategorie nebo doslovného 'null'" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "Sestavený díl je aktivní" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "Sestavený díl je sledovatelný" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "Sestavený díl je testovatelný" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "Sestavený díl je uzamčen" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "Kompotenta je aktivní" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "Komponenta je sledovatelná" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "Díl komponenty je testovatelný" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "Komponenta je část sestavy" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "Komponenta je virtuální" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "Má dostupné zásoby" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "Využití" @@ -6213,7 +6225,7 @@ msgstr "Výchozí klíčová slova pro díly v této kategorii" msgid "Icon" msgstr "Ikona" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Ikona (volitelná)" @@ -6349,7 +6361,7 @@ msgstr "Klíčová slova dílu pro zlepšení vyhledávání" msgid "Part category" msgstr "Kategorie dílu" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "Interní číslo dílu (IPN)" @@ -6358,7 +6370,7 @@ msgstr "Interní číslo dílu (IPN)" msgid "Part revision or version number" msgstr "Číslo revize nebo verze dílu" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Revize" @@ -6382,7 +6394,7 @@ msgstr "Výchozí expirace" msgid "Expiry time (in days) for stock items of this part" msgstr "Expirační čas (ve dnech) pro zásoby tohoto dílu" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Minimální zásoby na skladě" @@ -6390,7 +6402,7 @@ msgstr "Minimální zásoby na skladě" msgid "Minimum allowed stock level" msgstr "Minimální povolená úroveň zásob" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "Maximální zásoby" @@ -6759,7 +6771,7 @@ msgstr "Poddílec" msgid "Select part to be used in BOM" msgstr "Vyberte díl které bude použit v kusovníku" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "Množství" @@ -6911,351 +6923,351 @@ msgstr "Nadřazená kategorie" msgid "Parent part category" msgstr "Nadřazená kategorie dílu" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Podkategorie" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "Výsledky" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "Počet výsledků zaznamenaných podle této šablony" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Nákupní měna této skladové položky" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "Soubor není obrázek" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Původní díl" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Vyberte původní díl, který má být duplikován" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Kopírovat obrázek" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Kopírovat obrázek z původního dílu" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Kopírovat kusovník" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "Kopírovat kusovník z původního dílu" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "Kopírovat data parametrů z původního dílu" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Kopírovat poznámky" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "Kopírovat poznámky z původního dílu" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "Kopírovat testy" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "Kopírovat testovací šablony z původního dílu" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Počáteční skladové množství" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Zadejte počáteční skladové množství pro tuto část. Pokud je množství nulové, není přidáno žádné." -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Počáteční skladové místo" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Zadejte počáteční skladové místo pro tento díl" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Vyberte dodavatele (nebo nechte prázdné pro přeskočení)" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Vyberte výrobce (nebo nechte prázdné pro přeskočení)" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Číslo dílu výrobce" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "Vybraná společnost není platný dodavatel" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "Vybraná společnost není platný výrobce" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "Výrobce dílu se stejným MPN již existuje" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "Dodavatelský díl s tímto SKU již existuje" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Název kategorie" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "Budova" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "Množství tohoto dílu, které je v současné době ve výrobě" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Zbývající množství tohoto dílu, které má být postaveno" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Skladové položky" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "Revize" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Celkem skladem" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "Nezařazené zásoby" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "Skladové varianty" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Duplikovat díl" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "Kopírovat počáteční data z jiného dílu" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Počáteční zásoby" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "Vytvořit díl s počátečním množstvím zásob" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Informace o dodavateli" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "Přidat počáteční informace dodavatele pro tento díl" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Kopírovat parametry kategorie" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "Kopírovat šablony parametrů z vybrané kategorie dilu" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Stávající obrázek" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "Název souboru existujícího obrázku dílu" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "Obrázek neexistuje" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Schválit celý kusovník" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Lze postavit" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "Vyžadováno pro výrobní objednávku" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "Přířazeno výrobním objednávkám" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "Vyžadováno pro prodejní objednávky" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "Přiřazeno prodejním objednávkám" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "IPN dílu" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "Popis dílu" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "Vyberte díl u kterého chce vytvořit informace inventury (i pro jeho varianty)" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "Vyberte kategorii pro obsažení všech dílů v dané kategorii (a podkategoriích)" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "Vyberte lokaci pro obsažení všech dílů se zásobami na dané lokaci (včetně pod-lokací)" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "Generovat vstupy inventury" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "Uložit vstupy inventury pro vybrané díly" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "Generovat report" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "Generovat report inventury pro vybrané díly" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Minimální cena" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Přespat vypočítanou hodnotu pro minimální cenu" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Měna minimální ceny" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Maximální cena" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "Přespat vypočítanou hodnotu pro maximální cenu" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Měna maximální ceny" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Aktualizovat" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "Aktualizovat cenu pro díl" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Nelze převést z poskytnutých měn na {default_currency}" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "Minimální cena musí být vyšší než maximální cena" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "Maximální cena nesmí být nížší než minimální cena" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "Množství vyžadováno pro tuto položku (může zahrnout jednotky)" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "Vybrat nadřazenou sestavu" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "Vyberte komponentu dílu" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "Neplatný formát množství" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "Vyberte díl pro kopírování kusovníku z" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Odstranit existující data" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "Odstranit existující položky kusovníku před kopírováním" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Zahrnout zděděné" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "Zahrnout položky kusovníku které jsou zdědené z šablonových dílů" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Přeskočit neplatné řádky" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Povolte tuto možnost pro přeskočení neplatných řádků" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Kopírovat náhradní díly" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopírovat náhradní díly při duplikaci položek kusovníku" @@ -7326,91 +7338,91 @@ msgstr "Činnost nebyla specifikována" msgid "No matching action found" msgstr "Nebyla nalezena odpovídající činnost" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "Pro data čárového kódu nebyla nalezena shoda" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Pro data čárového kódu byla nalezena shoda" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "Model není podporován" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "Instance modelu nebyla nalezena" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "Čárový kód odpovídá existující položce" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "Žádné odpovídající data nebyla nalezena" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "Žádné odpovídající díly dodavatelů nebyly nalezeny" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "Vícero odpovídajících dílů dodavatelů bylo nalezeno" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "Žádný odpovídající plugin pro čárové kódy nebyl nalezen" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "Odpovídající díl dodavatele" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "Položka již byla obdržena" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "Objednávka nenašela\\rŽádnou shodu dílu dodavatele" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "Díl dodavatele nenašel\\rŽádnou shodu objednávky" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "Žádný plugin neodpovídá čárový kód dodavatele" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "Vícero odpovídajících řádkových položek bylo nalezeno" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "Žádná odpovídající řádková položka nebyla nalezena" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "Žádná prodejní objednávka nebyla poskytnuta" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "Čárový kód neodpovídá žádné existující skladové položce" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "Skladová položka se neshoduje s řádkovou položkou" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "Nedostatečný počet zásob" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "Skladová položka byla přidělena prodejní objednávce" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "Nedostatek informací" @@ -7992,7 +8004,7 @@ msgstr "Rámeček" msgid "Print a border around each label" msgstr "Vytisknout okraj kolem každého štítku" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "Na šířku" @@ -8481,136 +8493,136 @@ msgstr "Legal" msgid "Letter" msgstr "Letter" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "Šablona s tímto názvem již existuje" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Název šablony" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "Popis šablony" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "Číslo revize (automatické navýšení)" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "Připojit k modelu při tisku" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Uložit výstup reportu jako přílohu v instanci propojeného modelu při tisku" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Šablona pro názvy souborů" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "Šablona pro generování názvů souborů" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "Šablona je povolena" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "Cílový typ modelu pro šablonu" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Filtry" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "Filtry dotazů šablon (čárkou oddělený seznam klíčových=dvojic hodnot)" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "Vzorový soubor" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "Velikost stránky pro PDF reporty" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "Vykreslit report v orientaci na šířku" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "Sloučit" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "Vykreslit jeden report proti vybraným položkám" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "Report generován ze šablony {self.name}" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "Chyba syntaxe šablony" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "Chyba při vykreslování reportu" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "Chyba při generování reportu" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "Chyba při slučování výstupů reportu" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Šířka [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Šířka štítku zadaná v mm" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Výška [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Výška štítku uvedená v mm" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "Chyba při tisku štítků" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Úryvek" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Nahlásit soubor úryvku" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Popis souboru úryvku" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Aktivum" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Nahlásit soubor aktiva" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Popis souboru aktiva" @@ -8766,200 +8778,200 @@ msgstr "Žádný výsledek" msgid "Transferred" msgstr "Převedeno" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "Neplatná cesta k media souboru" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "Neplatná cesta ke statickému souboru" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "Soubor aktiva nebyl nalezen" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "Soubor obrázku nebyl nalezen" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "Nebyl zadán žádný obrázek" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "part_image tag vyžaduje instanci dílu" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "company_image tag vyžaduje intanci společnosti" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "Filtrovat dle hloubky lokace" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "Filtrovat dle nejvyšší lokace" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "Zahrnout pod-lokace ve filtrovaných výsledcích" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "Nadřazená místo" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "Filtrovat podle nadřazené lokace" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "Název dílu (citlivost písmen na malá a velká písmena)" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "Název dílu obsahuje (citlivost písmen na malá a velká písmena)" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "Název dílu (regex)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "IPN dílu (citlivost písmen na malá a velká písmena)" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "IPN dílu obsahuje (citlivost písmen na malá a velká písmena)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "IPN dílu (regex)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "Minimální zásoby" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "Maximální zásoby" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Kód stavu" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Externí umístění" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "Spotřebováno výrobním příkazem" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "Nainstalováno v jiné skladové položce" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "Strom dílů" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "Aktualizováno před" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "Aktualizováno po" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "Inventura před" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "Inventura po" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "Má datum inventury" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "Datum expirace ped" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "Datum expirace po" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "Zastaralé" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "Zadejte PK skladové položky, abyste vyloučili danou položku a všechny její potomky" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "Umístění kaskády" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "Pokud je pravda, uveďte předměty v podružených místech dané lokace" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "Filtrovat podle numberické ID lokace nebo doslovného 'null'" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "Množství je povinné" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "Platný díl musí být dodán" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "Daný dodavatelský díl neexistuje" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Dodavatelský díl na nastavenou velikost balení, ale znak use_pack_size není nastaven" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Sériové čísla nemohou být zadána pro díl bez sledovanosti" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "Zahrnout nainstalované" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "Pokud je pravda, zahrne výslekdy testů pro předměty nainstalované pod danou skladovou položku" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "Filtrovat podle číselného ID položky skladu" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "Skladová položka s ID {id} neexistuje" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "Zahrnout varianty" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "Datum po" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "Datum před" @@ -8995,7 +9007,7 @@ msgstr "Vybrat vlastníka" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Skladové položky nelze umístit přímo do strukturálních skladových umístění, ale lze je umístit do podřízených skladových umístění." -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Externí" @@ -9101,7 +9113,7 @@ msgstr "Vyberte odpovídající díl dodavatele pro tuto skladovou položku" msgid "Where is this stock item located?" msgstr "Kde se tato skladová položka nachází?" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "Balení, ve kterém je tato skladová položka uložena" @@ -9117,7 +9129,7 @@ msgstr "Je tato položka nainstalována v jiné položce?" msgid "Serial number for this item" msgstr "Sériové číslo pro tuto položku" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Kód šarže pro tuto skladovou položku" @@ -9234,7 +9246,7 @@ msgstr "Skladová položka je ve výrobě" msgid "Serialized stock cannot be merged" msgstr "Serializované zásoby nelze sloučit" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Duplicitní skladové položky" @@ -9398,7 +9410,7 @@ msgstr "Zadejte sériová čísla pro nové položky" msgid "Supplier Part Number" msgstr "Číslo dílu dodavatele" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Expirováno" @@ -9428,8 +9440,8 @@ msgstr "Nebyla poskytnuta žádná skladová položka" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Množství nesmí překročit dostupné skladové množství ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Cílové skladové umístění" @@ -9501,127 +9513,127 @@ msgstr "Vybrat skladové položky pro změnu stavu" msgid "No stock items selected" msgstr "Nejsou vybrány žádné skladové položky" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Podumístění" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "Odstranit skladové položky" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "Odstranit všechny skladové položky obsažené v této lokaci" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "Odstranit podkategorie" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "Odstranit všechny podkategorie obsažené v této lokaci" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "Nadřazené skladové umístění" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "Díl musí být prodejný" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "Položka je přidělena prodejní objednávce" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "Položka je přiřazená v převodní objednávce" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "Položka je přidělena výrobnímu příkazu" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "Zákazník, kterému mají být přiděleny skladové položky" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "Vybraná společnost není zákazník" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Poznámky ke skladové položce" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "Musí být poskytnut seznam skladových položek" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Poznámky ke sloučení skladových položek" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Povolit neodpovídající dodavatele" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "Povolit sloučení skladových položek s různými díly dodavatele" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Povolit neodpovídající stav" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "Povolit sloučení skladových položek s různými stavovými kódy" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "Musí být poskytnuty alespoň dvě skladové položky" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "Beze změny" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Hodnota primárního klíče skladové položky" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "Skladová položka není skladem" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "Skladová položka je již na skladě" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "Množství nesmí být záporné" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Poznámky ke skladovací transakci" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "Nastavit umístění zásob pro počítané položky (volitelné)" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "Sloučit do existující zásoby" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "Sloučit vrácené položky do existujích položek, pokud je to možné" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "Další sériové číslo" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "Předchozí sériové číslo" @@ -9919,7 +9931,7 @@ msgstr "Oprávnění" msgid "Important dates" msgstr "Důležité termíny" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "Token byl zrušen" @@ -9927,163 +9939,163 @@ msgstr "Token byl zrušen" msgid "Token has expired" msgstr "Token vypršel" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "API token" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "API tokeny" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Název tokenu" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Uživatelský název tokenu" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Datum vypršení tokenu" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Naposledy aktivní" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "Čas posledního použití tokenu" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Zrušeno" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Nastavení oprávnění" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Zobrazit" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Oprávnění k zobrazení položek" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Přidat" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Oprávnění přidat položky" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Změnit" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Oprávnění k úpravě položek" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Odstranit" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Oprávnění k odstranění položek" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "Bot" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "Interní" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "Host" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "Jazyk" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "Preferovaný jazyk uživatele" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "Motiv" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "Nastavení webového rozhraní jako JSON - neupravujte ručně!" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "Widgety" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "Nastavení widgetů hlavního panelu jako JSON - neupravujte ručně!" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "Zobrazované jméno" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "Zvolené zobrazované jméno pro uživatele" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "Pozice" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "Název nebo funkce hlavního zaměstnání" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "Zpráva statusu uživatele" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "Informace o umístění uživatele" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "Uživatel aktivně používá systém" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "Upřednostňované kontaktní údaje pro uživatele" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "Typ uživatele" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "Jaký typ uživatele to je?" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "Organizace" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "Primární organizace / přidružení uživatelů" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "Primární skupina" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "Primární skupina uživatele" diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index 4020fbff05..1689042d54 100644 --- a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API endpoint ikke fundet" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Elementer skal angives som en liste" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "Alle filtre må kun bruges med sand" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "Ingen data angivet" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "Dette felt skal være unikt." -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Bruger har ikke tilladelse til at se denne model" @@ -65,11 +65,11 @@ msgstr "Bekræftelse af e-mailadresse" msgid "You must type the same email each time." msgstr "Du skal indtaste den samme e-mail hver gang." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Den indtastede email adresse er ikke gyldig." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Det angivne e-mail domæne er ikke godkendt." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Kunne ikke konvertere {original} til {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Ugyldigt antal angivet" @@ -105,22 +105,22 @@ msgstr "Angiv dato" msgid "Invalid decimal value" msgstr "Ugyldig decimalværdi" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Bemærkninger" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Værdi '{name}' vises ikke i mønsterformat" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Den angivne værdi matcher ikke det påkrævede mønster: " @@ -164,51 +164,51 @@ msgstr "Fjern HTML-tags fra denne værdi" msgid "Data contains prohibited markdown content" msgstr "Data indeholder forbudt markdown indhold" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Forbindelsesfejl" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Serveren svarede med ugyldig statuskode" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Der opstod en fejl" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Serveren svarede med ugyldig Content-Length værdi" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Billedstørrelsen er for stor" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Billeddownload overskred maksimumstørrelsen" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Fjernserver returnerede tomt svar" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "Angivet URL er ikke en gyldig billedfil" @@ -220,117 +220,121 @@ msgstr "Log ind på appen" msgid "Email" msgstr "E-mail" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metadata skal være et python dict objekt" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "JSON metadata felt, til brug af eksterne plugins" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Forkert formateret mønster" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Ukendt formatnøgle angivet" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Mangler nødvendig formatnøgle" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Referencefelt må ikke være tomt" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Reference skal matche det påkrævede mønster" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Referencenummer er for stort" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Beskrivelse (valgfri)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Sti" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Markdown noter (valgfri)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Stregkode Data" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Tredjeparts stregkode data" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Stregkode Hash" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Unik hash af stregkode data" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Eksisterende stregkode fundet" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Serverfejl" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Skal være et gyldigt tal" msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Vælg valuta fra tilgængelige muligheder" @@ -521,11 +525,11 @@ msgstr "Kinesisk (forenklet)" msgid "Chinese (Traditional)" msgstr "Kinesisk (traditionelt)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "Opdatering tilgængelig" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "En opdatering til InvenTree er tilgængelig" @@ -537,7 +541,7 @@ msgstr "Ugyldig fysisk enhed" msgid "Not a valid currency code" msgstr "Ikke en gyldig valutakode" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Ordre status" @@ -546,23 +550,23 @@ msgstr "Ordre status" msgid "Parent Build" msgstr "Overordnet produktion" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Kategori" @@ -593,7 +597,7 @@ msgstr "Kategori" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Tildelt til Mig" @@ -601,11 +605,11 @@ msgstr "Tildelt til Mig" msgid "Assigned To" msgstr "Tildelt Til" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Oprettet før" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Oprettet efter" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Forbrugsvare" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Valgfri" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Sporet" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Ordre Udestående" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Allokeret" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Tilgængelig" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Produktionsordre" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Lokation" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Salgsordrereference" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Kilde Lokation" @@ -821,7 +825,7 @@ msgstr "Ekstern Byg" msgid "This build order is fulfilled externally" msgstr "Denne byggeordre er gennemført eksternt" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Destinations Placering" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Produktions statuskode" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Batch Kode" @@ -883,8 +887,8 @@ msgstr "Projekteret afslutningsdato" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Dato for afslutning" @@ -900,7 +904,7 @@ msgstr "Udstedt af" msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Prioritet af denne byggeordre" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Projektkode" @@ -962,9 +966,9 @@ msgstr "" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "" @@ -999,7 +1003,7 @@ msgstr "" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "" @@ -1057,8 +1061,8 @@ msgstr "" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Lagervarer" @@ -1082,7 +1086,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Del Navn" @@ -1139,7 +1143,7 @@ msgstr "Automatisk alloker serienumre" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienumre findes allerede eller er ugyldige" @@ -1272,7 +1276,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "Varen skal være på lager" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "Byg" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Leverandør Del" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "Stykliste Del" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "I Produktion" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Ekstern Lager" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Tilgængelig Lager" @@ -1527,31 +1531,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "Ingen plugin" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "Nøglestrengen skal være unik" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Bruger" @@ -1654,8 +1658,8 @@ msgstr "Bruger" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Pris" @@ -1677,8 +1681,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktiv" @@ -1686,7 +1690,7 @@ msgstr "Aktiv" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Token" @@ -1756,7 +1760,7 @@ msgstr "Titel" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "E-mail Tråde" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Nøgle" @@ -2430,7 +2434,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2524,7 +2528,7 @@ msgstr "Filnavn" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "" @@ -2931,7 +2935,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4448,7 +4452,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4533,7 +4537,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Afsendt" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "" @@ -6382,7 +6394,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "" @@ -6390,7 +6402,7 @@ msgstr "" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8766,200 +8778,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index 87d9d70f2a..9a26d021ad 100644 --- a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API-Endpunkt nicht gefunden" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Elemente müssen als Liste angegeben werden" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Ungültige Artikelliste angegeben" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "Alle Filter dürfen nur mit true verwendet werden" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "Keine Gegenstände erfüllen die vorgegebenen Kriterien" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "Keine Daten verfügbar" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "Dieses Feld muss eindeutig sein." -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen" @@ -65,11 +65,11 @@ msgstr "Bestätigung der E-Mail Adresse" msgid "You must type the same email each time." msgstr "E-Mail Adressen müssen übereinstimmen." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Die angegebene primäre E-Mail-Adresse ist ungültig." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Die angegebene E-Mail-Domain ist nicht freigegeben." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Konnte {original} nicht in {unit} umwandeln" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" @@ -105,22 +105,22 @@ msgstr "Datum eingeben" msgid "Invalid decimal value" msgstr "Ungültiger Dezimalwert" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Notizen" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Wert '{name}' hält das Musterformat nicht ein" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Angegebener Wert entspricht nicht dem benötigten Muster: " @@ -164,51 +164,51 @@ msgstr "Entferne HTML-Tags von diesem Wert" msgid "Data contains prohibited markdown content" msgstr "Daten enthalten verbotene Markdown-Inhalte" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Verbindungsfehler" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Server antwortete mit ungültigem Statuscode" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Ausnahme aufgetreten" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Server antwortete mit ungültigem Wert für die Inhaltslänge" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Bild ist zu groß" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Bilddownload überschreitet maximale Größe" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Remote-Server gab leere Antwort zurück" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "Angegebene URL ist kein gültiges Bild" @@ -220,117 +220,121 @@ msgstr "Bei der App anmelden" msgid "Email" msgstr "Email" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Sie müssen die Zwei-Faktor-Authentifizierung aktivieren, bevor Sie etwas tun können." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Fehler beim Ausführen der Plugin Validierung" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metadaten müssen ein Python-Dict Objekt sein" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Plugin Metadaten" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "JSON-Metadatenfeld, für die Verwendung durch externe Plugins" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Falsch formatiertes Muster" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Unbekannter Formatschlüssel angegeben" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Erforderlicher Formatschlüssel fehlt" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Referenz-Feld darf nicht leer sein" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Referenz muss erforderlichem Muster entsprechen" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Referenznummer ist zu groß" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Name" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Beschreibung" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Beschreibung (optional)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Pfad" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Markdown Notizen (optional)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Barcode-Daten" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Drittanbieter-Barcode-Daten" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Barcode-Hash" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Eindeutiger Hash der Barcode-Daten" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Bestehender Barcode gefunden" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Serverfehler" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Muss eine gültige Nummer sein" msgid "Currency" msgstr "Währung" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Währung aus verfügbaren Optionen auswählen" @@ -521,11 +525,11 @@ msgstr "Chinesisch (Vereinfacht)" msgid "Chinese (Traditional)" msgstr "Chinesisch (Traditionell)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "Update verfügbar" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "Ein Update für InvenTree ist verfügbar" @@ -537,7 +541,7 @@ msgstr "Ungültige physikalische Einheit" msgid "Not a valid currency code" msgstr "Kein gültiger Währungscode" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Bestellstatus" @@ -546,23 +550,23 @@ msgstr "Bestellstatus" msgid "Parent Build" msgstr "Eltern-Bauauftrag" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "Varianten einschließen" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "Varianten einschließen" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "Varianten einschließen" msgid "Part" msgstr "Teil" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Kategorie" @@ -593,7 +597,7 @@ msgstr "Kategorie" msgid "Ancestor Build" msgstr "Vorgänger-Build" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Mir zugewiesen" @@ -601,11 +605,11 @@ msgstr "Mir zugewiesen" msgid "Assigned To" msgstr "Zugewiesen zu" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Erstellt vor" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Erstellt nach" @@ -641,99 +645,99 @@ msgstr "Abgeschlossen vor" msgid "Completed after" msgstr "Abgeschlossen nach" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "Baum ausschließen" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Optional" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Baugruppe" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Nachverfolgt" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Prüfbar" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Offene Bestellung" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Zugeordnet" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "Verbraucht" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Verfügbar" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "Bestellt" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Bauauftrag" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Lagerort" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "Bauprodukt" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "Zieldatum muss nach dem Startdatum liegen" msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Auftrag Referenz" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Quell-Lagerort" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Ziel-Lagerort" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Bau-Statuscode" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Losnummer" @@ -883,8 +887,8 @@ msgstr "geplantes Fertigstellungsdatum" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Fertigstellungsdatum" @@ -900,7 +904,7 @@ msgstr "Aufgegeben von" msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Priorität dieses Bauauftrags" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Projektcode" @@ -962,9 +966,9 @@ msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -999,7 +1003,7 @@ msgstr "Objekt bauen" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" @@ -1057,8 +1061,8 @@ msgstr "BestandObjekt ist zu oft zugewiesen" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Lagerartikel" @@ -1082,7 +1086,7 @@ msgstr "Ziel-Lagerartikel" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Name des Teils" @@ -1139,7 +1143,7 @@ msgstr "Seriennummern automatisch zuweisen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" @@ -1272,7 +1276,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:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "Zusammenbau" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Zuliefererteil" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Varianten zulassen" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "Stücklisten-Position" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "In Produktion" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "Geplant zum Erstellen" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Externes Lager" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Verfügbarer Bestand" @@ -1527,31 +1531,31 @@ msgstr "Überfälliger Bauauftrag" msgid "Build order {bo} is now overdue" msgstr "Bauauftrag {bo} ist jetzt überfällig" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "Link" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "Datei" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "Benutzer hat keine Berechtigung zum Löschen der Anhänge" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "Benutzer hat keine Berechtigung zum Löschen des Anhangs" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "Kein Plugin" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "Schlüsseltext muss eindeutig sein" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Benutzer" @@ -1654,8 +1658,8 @@ msgstr "Benutzer" msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Preis" @@ -1677,8 +1681,8 @@ msgstr "Name für diesen Webhook" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktiv" @@ -1686,7 +1690,7 @@ msgstr "Aktiv" msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Token" @@ -1756,7 +1760,7 @@ msgstr "Titel" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "Gültige Optionen für diesen Parameter (durch Kommas getrennt)" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Aktiviert" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Vorlage" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Kontext" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Schlüssel" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} storniert" msgid "A order that is assigned to you was canceled" msgstr "Eine Bestellung, die Ihnen zugewiesen war, wurde storniert" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Artikel erhalten" @@ -2524,7 +2528,7 @@ msgstr "Dateiname" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "Modelltyp" @@ -2914,8 +2918,8 @@ msgstr "Teile sind standardmäßig Vorlagen" msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Komponente" @@ -2931,7 +2935,7 @@ msgstr "Kaufbar" msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Verkäuflich" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "Fehler, die beim Erstellen von Berichten auftreten, protokollieren" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Seitengröße" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Eine leere Domain ist nicht erlaubt." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ungültiger Domainname: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "Lieferant ist aktiv" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Hersteller" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Firma" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Kontakt-Email" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Kontakt" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Adresse" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "Link zu Adressinformationen (extern)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Herstellerteil" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Hersteller auswählen" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "MPN" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Zulieferer" @@ -4448,7 +4452,7 @@ msgstr "Zulieferer" msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Verpackungen" @@ -4533,7 +4537,7 @@ msgstr "Standard-Währung für diesen Zulieferer" msgid "Company Name" msgstr "Firmenname" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "Auf Lager" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "Fehler" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Gültig" @@ -4838,7 +4842,7 @@ msgstr "Anzahl der zu druckenden Kopien für jedes Label" msgid "Connected" msgstr "Verbunden" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Unbekannt" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Gruppe" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Bestellreferenz" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "Ausstehend" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Erstellt von" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "Hat Preise" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Bestellung" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "Bestellung abgeschlossen" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Internes Teil" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "Bestellung ausstehend" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Fertig" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Bestellung" msgid "Sales Order" msgstr "Auftrag" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Rücksendeauftrag" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "Auftragsbeschreibung (optional)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Projektcode für diesen Auftrag auswählen" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Link auf externe Seite" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Zieldatum" @@ -5184,487 +5188,487 @@ msgstr "Ansprechpartner für diesen Auftrag" msgid "Company address for this order" msgstr "Firmenadresse für diesen Auftrag" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Status" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "Empfangen von" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Ziel-Lager" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Kunde" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "Versand von" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "Bestellung ist bereits abgeschlossen" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "Bestellung ist bereits storniert" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Nur ein offener Auftrag kann als abgeschlossen markiert werden" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Auftrag kann nicht abgeschlossen werden, da unvollständige Sendungen vorhanden sind" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "Auftrag kann nicht abgeschlossen werden, da es unvollständige Positionen gibt" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Zieldatum für diesen Einzelposten (leer lassen, um das Zieldatum des Auftrags zu verwenden)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Positionsbeschreibung (optional)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Empfangen" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Versendet" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Lieferdatum" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Versanddatum" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Sendung" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kann Lagerartikel keiner Zeile mit einem anderen Teil hinzufügen" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Position" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Position" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "Rücksendungsreferenz" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Firma von der die Artikel zurückgeschickt werden" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "Status der Rücksendung" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Artikel zur Rücksendung auswählen" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Empfangsdatum" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Ergebnis" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Ergebnis für dieses Zeilenelement" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Kosten für die Rückgabe oder Reparatur dieses Objektes" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Parameter kopieren" @@ -5784,11 +5788,11 @@ msgstr "Elemente zusammenfügen" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Zusammenführen von Elementen mit dem gleichen Teil, Ziel- und Zieldatum zu einem Zeilenelement" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "Lieferanten-Teilenummer" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Interne Teilenummer" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Losnummer für eingehende Lagerartikel" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Ablaufdatum" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "Markiert" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "Nach markierten Kategorien filtern" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Ebenen" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "Filter nach Kategorietiefe" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "Oberste Ebene" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "Mehrstufig" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "Unterkategorien in gefilterte Ergebnisse einbeziehen" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "Übergeordnetes" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "Nach übergeordneter Kategorie filtern" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "Unterkategorien in der angegebenen Kategorie ausschließen" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "Ergebnisse" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "Verwendet" @@ -6213,7 +6225,7 @@ msgstr "Standard-Stichworte für Teile dieser Kategorie" msgid "Icon" msgstr "Symbol" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Symbol (optional)" @@ -6349,7 +6361,7 @@ msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN (Interne Produktnummer)" @@ -6358,7 +6370,7 @@ msgstr "IPN (Interne Produktnummer)" msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Version" @@ -6382,7 +6394,7 @@ msgstr "Standard Ablaufzeit" msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Minimaler Bestand" @@ -6390,7 +6402,7 @@ msgstr "Minimaler Bestand" msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "Untergeordnetes Teil" msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "Übergeordnete Kategorie" msgid "Parent part category" msgstr "Übergeordnete Teilkategorie" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Unter-Kategorien" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "Ergebnisse" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "Anzahl der Ergebnisse, die in dieser Vorlage aufgezeichnet wurden" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Anmerkungen kopieren" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "Notizen aus Originalteil kopieren" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:474 +#: 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:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:499 +#: 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:515 +#: 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:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Kategoriename" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "Im Bau" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Lagerartikel" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Gesamtbestand" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "Nicht zugewiesenes Lager" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "Alternatives Lager" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Vorhandenes Bild" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "Dateiname eines vorhandenen Teilbildes" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "Bilddatei existiert nicht" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Herstellbar" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Niedrigster Preis" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Berechneten Wert für Mindestpreis überschreiben" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Mindestpreis Währung" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Höchster Preis" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "Berechneten Wert für maximalen Preis überschreiben" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Maximalpreis Währung" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, 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:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "Mindestpreis darf nicht größer als der Maximalpreis sein" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "Der Maximalpreis darf nicht kleiner als der Mindestpreis sein" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" @@ -7326,91 +7338,91 @@ msgstr "Keine Aktion angegeben" msgid "No matching action found" msgstr "Keine passende Aktion gefunden" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "Keine Treffer für Barcode" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Treffer für Barcode gefunden" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "Barcode entspricht einem bereits vorhandenen Artikel" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "Keine passenden Teiledaten gefunden" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "Keine passenden Zulieferteile gefunden" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "Mehrere passende Zulieferteile gefunden" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "Zulieferteil zugeordnet" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "Artikel wurde bereits erhalten" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "Mehrere passende Elemente gefunden" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "Kein passendes Element gefunden" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "Barcode stimmt nicht mit einem vorhandenen Lagerartikel überein" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "Lagerartikel stimmt nicht mit dem Element überein" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "Unzureichender Bestand verfügbar" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "Lagerartikel der Bestellung zugeordnet" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "Nicht genügend Informationen" @@ -7992,7 +8004,7 @@ msgstr "Rand" msgid "Print a border around each label" msgstr "Einen Rahmen um jedes Label drucken" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "Querformat" @@ -8481,136 +8493,136 @@ msgstr "US-Legal" msgid "Letter" msgstr "US-Letter" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Vorlagen Name" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "Beschreibung der Vorlage" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Dateinamen-Muster" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Filter" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "Seitengröße für PDF-Berichte" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "Bericht in Querformat anzeigen" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Breite [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Label-Breite in mm" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Höhe [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Label-Höhe in mm" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Schnipsel" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Berichts-Snippet" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Snippet-Beschreibung" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Ressource" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Berichts-Ressource" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Ressource-Beschreibung" @@ -8766,200 +8778,200 @@ msgstr "Kein Ergebnis" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "Bilddatei nicht gefunden" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "part_image tag benötigt eine Bauteilinstanz" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "company_image tag erfordert eine Firmeninstanz" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "Filtern nach Standorttiefe" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "Unterorte in gefilterte Ergebnisse einbeziehen" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "Übergeordneter Ort" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "Filtern nach übergeordnetem Ort" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Statuscode" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Externer Standort" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "Teile-Baum" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "Gültigkeitsdauer vor" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "Gültigkeitsdauer nach" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "überfällig" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "Der angegebene Lieferantenartikel existiert nicht" -#: stock/api.py:1163 +#: stock/api.py:1177 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:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "Besitzer auswählen" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Lagerartikel können nicht direkt an einen strukturellen Lagerort verlegt werden, können aber an einen untergeordneten Lagerort verlegt werden." -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Extern" @@ -9101,7 +9113,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:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "Verpackung, in der dieser Lagerartikel gelagert ist" @@ -9117,7 +9129,7 @@ msgstr "Ist dieses Teil in einem anderen verbaut?" msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" @@ -9234,7 +9246,7 @@ msgstr "Lagerartikel wird aktuell produziert" msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Artikel duplizeren" @@ -9398,7 +9410,7 @@ msgstr "Seriennummern für neue Teile eingeben" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "abgelaufen" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Anzahl darf nicht die verfügbare Menge überschreiten ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Ziel-Bestand" @@ -9501,127 +9513,127 @@ msgstr "Lagerartikel auswählen, um den Status zu ändern" msgid "No stock items selected" msgstr "Keine Lagerartikel ausgewählt" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Unter-Lagerorte" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "Übergeordneter Lagerort" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "Keine Änderung" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "Nächste Seriennummer" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "Vorherige Seriennummer" @@ -9919,7 +9931,7 @@ msgstr "Berechtigungen" msgid "Important dates" msgstr "wichtige Daten" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "Token wurde widerrufen" @@ -9927,163 +9939,163 @@ msgstr "Token wurde widerrufen" msgid "Token has expired" msgstr "Token ist abgelaufen" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "API Token" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "API-Tokens" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Tokenname" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Benutzerdefinierter Tokenname" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Token Ablaufdatum" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Zuletzt gesehen" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "Das letzte Mal, wo das Token verwendet wurde" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Widerrufen" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Berechtigung geändert" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Ansicht" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Berechtigung Einträge anzuzeigen" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Hinzufügen" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Berechtigung Einträge zu erstellen" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Ändern" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Berechtigungen Einträge zu ändern" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Löschen" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "Interne" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "Gast" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "Sprache" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "Bevorzugte Sprache für diesen Benutzer" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "Name anzeigen" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "Organisation" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index 79f446f068..15494a6421 100644 --- a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "Το API endpoint δε βρέθηκε" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Τα Προϊόντα πρέπει να δοθούν ως λίστα" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Η λίστα Προϊόντων που δόθηκε δεν είναι έγκυρη" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "Το φίλτρο all πρέπει να χρησιμοποιείται μόνο με τιμή true" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "Κανένα Aντικείμενο δεν ταιριάζει στα κριτήρια που δόθηκαν" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "Δεν δόθηκαν δεδομένα" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "Αυτό το πεδίο πρέπει να είναι μοναδικό." -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Δεν έχετε δικαιώματα να το δείτε αυτό" @@ -65,11 +65,11 @@ msgstr "Επιβεβαίωση διεύθυνσης email" msgid "You must type the same email each time." msgstr "Πρέπει να πληκτρολογήσετε το ίδιο email κάθε φορά." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Η παρεχόμενη κύρια διεύθυνση ηλεκτρονικού ταχυδρομείου δεν είναι έγκυρη." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Ο παρεχόμενος τομέας ηλεκτρονικού ταχυδρομείου δεν έχει εγκριθεί." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Δεν ήταν δυνατή η μετατροπή από {original} σε {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Μη έγκυρη ποσότητα" @@ -105,22 +105,22 @@ msgstr "Εισάγετε ημερομηνία" msgid "Invalid decimal value" msgstr "Μη έγκυρη δεκαδική τιμή" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Σημειώσεις" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Η τιμή '{name}' δεν εμφανίζεται σε μορφή μοτίβου" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Η παρεχόμενη τιμή δεν ταιριάζει με το απαιτούμενο απαραραίητη μοτίβο: " @@ -164,51 +164,51 @@ msgstr "Αφαιρέστε τα HTML tags από την τιμή που εισά msgid "Data contains prohibited markdown content" msgstr "Τα δεδομένα περιέχουν απαγορευμένο περιεχόμενο markdown" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Σφάλμα σύνδεσης" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Ο διακομιστής απάντησε με μη έγκυρο κωδικό κατάστασης" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Προέκυψε σφάλμα" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Ο διακομιστής ανταποκρίθηκε με \"Invalid Content-Length value\"" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Η εικόνα είναι πολύ μεγάλη σε μέγεθος" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Η λήψη εικόνας ξεπέρασε το μέγιστο μέγεθος" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Ο διακομιστής επέστρεψε σφάλμα %1$d %2$s" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "Το URL δεν είναι έγκυρο αρχείο εικόνας" @@ -220,117 +220,121 @@ msgstr "Σύνδεση στην εφαρμογή" msgid "Email" msgstr "Email" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Πρέπει να ενεργοποιήσετε τον έλεγχο ταυτότητας δύο παραγόντων πριν κάνετε οτιδήποτε άλλο." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Σφάλμα κατά την εκτέλεση επικύρωσης προσθέτου" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Τα μεταδεδομένα πρέπει να είναι ένα αντικείμενο dict python" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Μεταδεδομένα Πρόσθετου" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "JSON πεδίο μεταδεδομένων, για χρήση από εξωτερικά πρόσθετα" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Λανθασμένο μοτίβο" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Δώσατε λάθος μορφή κλειδιού" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Λείπει το απαραίτητο κλειδί" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Το πεδίο δεν μπορεί να είναι άδειο" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Η αναφορά πρέπει να ταιριάζει με το απαιτούμενο μοτίβο" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Ο αριθμός αναφοράς είναι πολύ μεγάλος" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Όνομα" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Περιγραφή" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Περιγραφή (προαιρετική)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Μονοπάτι" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Διπλότυπα ονόματα δεν μπορούν να υπάρχουν στον ίδιο γονέα" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Σημειώσεις Markdown (προαιρετικό)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Στοιχεία Barcode" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Δεδομένα barcode τρίτων" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Hash barcode" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Μοναδικό hash δεδομένων barcode" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Βρέθηκε υπάρχων barcode" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Σφάλμα διακομιστή" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Πρέπει να είναι αριθμός" msgid "Currency" msgstr "Νόμισμα" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Επιλέξτε νόμισμα από τις διαθέσιμες επιλογές" @@ -521,11 +525,11 @@ msgstr "Κινέζικα (απλοποιημένα)" msgid "Chinese (Traditional)" msgstr "Κινέζικα (Παραδοσιακά)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "Διαθέσιμη ενημέρωση" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "Μια ενημέρωση για το InvenTree είναι διαθέσιμη" @@ -537,7 +541,7 @@ msgstr "Μη έγκυρη φυσική μονάδα" msgid "Not a valid currency code" msgstr "Μη έγκυρος κωδικός συναλλάγματος" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Κατάσταση παραγγελίας" @@ -546,23 +550,23 @@ msgstr "Κατάσταση παραγγελίας" msgid "Parent Build" msgstr "Γονική Κατασκευή" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "Συμπερίληψη παραλλαγών" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "Συμπερίληψη παραλλαγών" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "Συμπερίληψη παραλλαγών" msgid "Part" msgstr "Εξάρτημα" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Κατηγορία" @@ -593,7 +597,7 @@ msgstr "Κατηγορία" msgid "Ancestor Build" msgstr "Πρόγονος κατασκευής" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Ανατεθειμένες σε εμένα" @@ -601,11 +605,11 @@ msgstr "Ανατεθειμένες σε εμένα" msgid "Assigned To" msgstr "Ανατεθεί σε" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Δημιουργήθηκε πριν από" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Δημιουργήθηκε μετά από" @@ -641,99 +645,99 @@ msgstr "Ολοκληρώθηκε πριν από" msgid "Completed after" msgstr "Ολοκληρώθηκε μετά από" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "Ελάχιστη ημερομηνία" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "Μέγιστη ημερομηνία" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "Εξαίρεση δέντρου" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Αναλώσιμο" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Προαιρετικό" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Συναρμολόγηση" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Υπό παρακολούθηση" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Υπό δοκιμή" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Εκκρεμής παραγγελία" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Κατανεμημένο" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "Καταναλωμένο" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Διαθέσιμο" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "Σε παραγγελία" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Σειρά Κατασκευής" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Τοποθεσία" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "Έξοδος" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "Φιλτράρισμα με βάση το ID του αποθέματος εξόδου. Χρησιμοποιήστε 'null' για να βρείτε μη εγκατεστημένα στοιχεία κατασκευής" @@ -773,9 +777,9 @@ msgstr "Η ημερομηνία στόχος πρέπει να είναι μετ msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Κωδικός Παραγγελίας Πωλήσεων" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" @@ -821,7 +825,7 @@ msgstr "Εξωτερική κατασκευή" msgid "This build order is fulfilled externally" msgstr "Αυτή η εντολή κατασκευής εκτελείται εξωτερικά" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Τοποθεσία Προορισμού" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" @@ -883,8 +887,8 @@ msgstr "Ημερομηνία ολοκλήρωσης στόχου" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" @@ -900,7 +904,7 @@ msgstr "Εκδόθηκε από" msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Προτεραιότητα αυτής της εντολής κατασκευής" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Κωδικός Έργου" @@ -962,9 +966,9 @@ msgstr "Η έξοδος κατασκευής δεν ταιριάζει με τη #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -999,7 +1003,7 @@ msgstr "Αντικείμενο κατασκευής" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακ msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" @@ -1057,8 +1061,8 @@ msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμ #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" @@ -1082,7 +1086,7 @@ msgstr "Αποθήκη προορισμού" msgid "Build Level" msgstr "Επίπεδο κατασκευής" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Όνομα Προϊόντος" @@ -1139,7 +1143,7 @@ msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" msgid "Automatically allocate required items with matching serial numbers" msgstr "Αυτόματη κατανομή των απαιτούμενων στοιχείων με τους αντίστοιχους σειριακούς αριθμούς" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "Οι παρακάτω σειριακοί αριθμοί υπάρχουν ήδη ή δεν είναι έγκυροι" @@ -1272,7 +1276,7 @@ msgstr "Αντικείμενο Γραμμής Κατασκευής" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part πρέπει να δείχνει στο ίδιο εξάρτημα με τη εντολή κατασκευής" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "Το στοιχείο πρέπει να υπάρχει στο απόθεμα" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "Κατασκευή" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Aντικειμένου προμηθευτή" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Να επιτρέπονται παραλλαγές" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "Στοιχείο BOM" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "Σε παραγωγή" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "Προγραμματισμένο για κατασκευή" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Εξωτερικό απόθεμα" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Διαθέσιμο απόθεμα" @@ -1527,31 +1531,31 @@ msgstr "Εκπρόθεσμη εντολή κατασκευής" msgid "Build order {bo} is now overdue" msgstr "Η εντολή κατασκευής {bo} είναι πλέον εκπρόθεσμη" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "Είναι σύνδεσμος" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "Είναι αρχείο" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "Ο χρήστης δεν έχει δικαίωμα να διαγράψει αυτά τα συνημμένα" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "Ο χρήστης δεν έχει δικαίωμα να διαγράψει αυτό το συνημμένο" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "Η λίστα επιλογών είναι κλειδωμένη" @@ -1571,8 +1575,8 @@ msgstr "Δεν δόθηκαν έγκυροι κωδικοί συναλλάγμα msgid "No plugin" msgstr "Χωρίς πρόσθετο" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "Η συμβολοσειρά κλειδιού πρέπει να είνα #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Χρήστης" @@ -1654,8 +1658,8 @@ msgstr "Χρήστης" msgid "Price break quantity" msgstr "Ποσότητα κλιμακωτής τιμής" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Τιμή" @@ -1677,8 +1681,8 @@ msgstr "Όνομα για αυτό το webhook" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Ενεργό" @@ -1686,7 +1690,7 @@ msgstr "Ενεργό" msgid "Is this webhook active" msgstr "Είναι αυτό το webhook ενεργό" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Token" @@ -1756,7 +1760,7 @@ msgstr "Τίτλος" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "Έγκυρες επιλογές για αυτή την παράμετρ msgid "Selection list for this parameter" msgstr "Λίστα επιλογών για αυτή την παράμετρο" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Ενεργό" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Πρότυπο" @@ -2262,7 +2266,7 @@ msgstr "Ημερομηνία και ώρα της σάρωσης barcode" msgid "URL endpoint which processed the barcode" msgstr "URL endpoint που επεξεργάστηκε το barcode" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Πλαίσιο" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "Νήματα email" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Κλειδί" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} ακυρώθηκε" msgid "A order that is assigned to you was canceled" msgstr "Μια παραγγελία που σας είχε ανατεθεί ακυρώθηκε" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Είδη που παραλήφθηκαν" @@ -2524,7 +2528,7 @@ msgstr "Όνομα αρχείου" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "Τύπος μοντέλου" @@ -2914,8 +2918,8 @@ msgstr "Τα Προϊόντα είναι πρότυπα από προεπιλο msgid "Parts can be assembled from other components by default" msgstr "Τα Προϊόντα μπορούν να συναρμολογούνται από άλλα συστατικά από προεπιλογή" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Συστατικό" @@ -2931,7 +2935,7 @@ msgstr "Αγοράσιμο" msgid "Parts are purchaseable by default" msgstr "Τα Προϊόντα είναι αγοράσιμα από προεπιλογή" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Πωλήσιμο" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "Καταγραφή σφαλμάτων που προκύπτουν κατά τη δημιουργία αναφορών" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Μέγεθος σελίδας" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "Δεν δόθηκε τύπος μοντέλου συνημμένου" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "Μη έγκυρος τύπος μοντέλου συνημμένου" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "Οι ελάχιστες θέσεις δεν μπορούν να είναι περισσότερες από τις μέγιστες" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "Οι μέγιστες θέσεις δεν μπορούν να είναι λιγότερες από τις ελάχιστες" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Δεν επιτρέπεται κενός τομέας." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Μη έγκυρο όνομα τομέα: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "Η τιμή πρέπει να είναι με κεφαλαία" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "Η τιμή πρέπει να είναι έγκυρο όνομα μεταβλητής" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "Ο προμηθευτής είναι ενεργός" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Κατασκευαστής" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Εταιρεία" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Email επικοινωνίας" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Επαφή" @@ -4297,7 +4301,7 @@ msgstr "ΑΦΜ" msgid "Company Tax ID" msgstr "ΑΦΜ εταιρείας" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Διεύθυνση" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "Σύνδεσμος σε πληροφορίες διεύθυνσης (εξωτερικό)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Προϊόν κατασκευαστή" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Επιλογή κατασκευαστή" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "MPN" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Το συνδεδεμένο προϊόν κατασκευαστή πρέπει να αναφέρεται στο ίδιο βασικό προϊόν" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Προμηθευτής" @@ -4448,7 +4452,7 @@ msgstr "Προμηθευτής" msgid "Select supplier" msgstr "Επιλογή προμηθευτή" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Κωδικός αποθέματος προμηθευτή" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Ελάχιστη χρέωση (π.χ. χρέωση αποθήκευσης)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Συσκευασία" @@ -4533,7 +4537,7 @@ msgstr "Προεπιλεγμένο νόμισμα που χρησιμοποιε msgid "Company Name" msgstr "Όνομα εταιρείας" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "Σε απόθεμα" @@ -4722,7 +4726,7 @@ msgstr "Αρχικά δεδομένα γραμμής" msgid "Errors" msgstr "Σφάλματα" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Έγκυρο" @@ -4838,7 +4842,7 @@ msgstr "Αριθμός αντιτύπων προς εκτύπωση για κά msgid "Connected" msgstr "Συνδεδεμένος" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Άγνωστο" @@ -4942,7 +4946,7 @@ msgstr "Κλειδί ιδιότητας" msgid "Value of the property" msgstr "Τιμή ιδιότητας" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Ομάδα" @@ -4966,118 +4970,118 @@ msgstr "Μέγιστη πρόοδος" msgid "Maximum value for progress type, required if type=progress" msgstr "Μέγιστη τιμή για τύπο προόδου, απαιτείται αν type=progress" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Αναφορά παραγγελίας" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "Σε εκκρεμότητα" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "Έχει κωδικό έργου" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Δημιουργήθηκε από" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "Δημιουργήθηκε πριν" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "Δημιουργήθηκε μετά" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "Έχει ημερομηνία έναρξης" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "Ημερομηνία έναρξης πριν" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "Ημερομηνία έναρξης μετά" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "Έχει ημερομηνία στόχο" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "Ημερομηνία στόχος πριν" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "Ημερομηνία στόχος μετά" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "Έχει τιμολόγηση" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "Ολοκληρώθηκε πριν" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "Ολοκληρώθηκε μετά" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "Εξωτερική εντολή παραγωγής" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Παραγγελία" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "Η παραγγελία ολοκληρώθηκε" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Εσωτερικό προϊόν" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "Η παραγγελία είναι σε εκκρεμότητα" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Ολοκληρώθηκε" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "Έχει αποστολή" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Εντολή αγοράς" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Εντολή αγοράς" msgid "Sales Order" msgstr "Εντολές Πώλησης" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Εντολή επιστροφής" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "Η διεύθυνση δεν αντιστοιχεί στην επιλε msgid "Order description (optional)" msgstr "Περιγραφή παραγγελίας (προαιρετικά)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Επιλογή κωδικού έργου για αυτή την παραγγελία" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Σύνδεσμος σε εξωτερική σελίδα" @@ -5151,7 +5155,7 @@ msgstr "Ημερομηνία έναρξης" msgid "Scheduled start date for this order" msgstr "Προγραμματισμένη ημερομηνία έναρξης για αυτή την παραγγελία" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Επιθυμητή Προθεσμία" @@ -5184,487 +5188,487 @@ msgstr "Σημείο επαφής για αυτή την παραγγελία" msgid "Company address for this order" msgstr "Διεύθυνση εταιρείας για αυτή την παραγγελία" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Αναφορά παραγγελίας" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Κατάσταση" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Κατάσταση εντολής αγοράς" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Εταιρεία από την οποία παραγγέλνονται τα είδη" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Αναφορά προμηθευτή" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Κωδικός αναφοράς παραγγελίας προμηθευτή" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "παραλήφθηκε από" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "Ημερομηνία ολοκλήρωσης της παραγγελίας" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Προορισμός" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "Προορισμός για τα παραληφθέντα είδη" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "Ο προμηθευτής προϊόντος πρέπει να ταιριάζει με τον προμηθευτή της εντολής αγοράς" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "Η γραμμή δεν αντιστοιχεί στην εντολή αγοράς" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "Στη γραμμή λείπει συνδεδεμένο προϊόν" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "Η ποσότητα πρέπει να είναι θετικός αριθμός" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Πελάτης" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Εταιρεία στην οποία πωλούνται τα είδη" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "Κατάσταση εντολής πώλησης" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Αναφορά πελάτη " -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Κωδικός αναφοράς παραγγελίας πελάτη" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Ημερομηνία αποστολής" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "απεστάλη από" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "Η παραγγελία είναι ήδη ολοκληρωμένη" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "Η παραγγελία είναι ήδη ακυρωμένη" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Μόνο μια ανοικτή παραγγελία μπορεί να σημειωθεί ως ολοκληρωμένη" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Η παραγγελία δεν μπορεί να ολοκληρωθεί καθώς υπάρχουν μη ολοκληρωμένες αποστολές" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "Η παραγγελία δεν μπορεί να ολοκληρωθεί καθώς υπάρχουν μη ολοκληρωμένες δεσμεύσεις αποθέματος" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "Η παραγγελία δεν μπορεί να ολοκληρωθεί καθώς υπάρχουν μη ολοκληρωμένες γραμμές" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "Η παραγγελία είναι κλειδωμένη και δεν μπορεί να τροποποιηθεί" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Ποσότητα είδους" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Αναφορά γραμμής" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Σημειώσεις γραμμής" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Ημερομηνία στόχος για αυτή τη γραμμή (αφήστε κενό για χρήση της ημερομηνίας στόχου από την παραγγελία)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Περιγραφή γραμμής (προαιρετικά)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "Πρόσθετο πλαίσιο για αυτή τη γραμμή" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Τιμή μονάδας" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "Γραμμή εντολής αγοράς" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "Το προϊόν προμηθευτή πρέπει να ταιριάζει με τον προμηθευτή" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "Η εντολή παραγωγής πρέπει να έχει σημειωθεί ως εξωτερική" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "Οι εντολές παραγωγής μπορούν να συνδεθούν μόνο με προϊόντα συναρμολόγησης" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "Το προϊόν της εντολής παραγωγής πρέπει να ταιριάζει με το προϊόν της γραμμής" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Προϊόν προμηθευτή" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Παραλήφθηκε" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Αριθμός ειδών που παραλήφθηκαν" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Τιμή αγοράς" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Τιμή μονάδας αγοράς" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "Εξωτερική εντολή παραγωγής που θα καλυφθεί από αυτή τη γραμμή" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "Επιπλέον γραμμή εντολής αγοράς" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "Γραμμή εντολής πώλησης" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "Μόνο πωλήσιμα προϊόντα μπορούν να αντιστοιχιστούν σε εντολή πώλησης" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Τιμή πώλησης" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Τιμή μονάδας πώλησης" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Αποστάλθηκε" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Ποσότητα που αποστάλθηκε" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "Αποστολή εντολής πώλησης" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "Η διεύθυνση αποστολής πρέπει να αντιστοιχεί στον πελάτη" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "Διεύθυνση αποστολής για αυτή την αποστολή" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Ημερομηνία αποστολής" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Ημερομηνία παράδοσης" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Ημερομηνία παράδοσης της αποστολής" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Έλεγχος από" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Χρήστης που έλεγξε αυτή την αποστολή" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Αποστολή" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Αριθμός αποστολής" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Αριθμός παρακολούθησης" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Πληροφορίες παρακολούθησης αποστολής" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Αριθμός τιμολογίου" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Αριθμός αναφοράς του σχετικού τιμολογίου" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "Η αποστολή έχει ήδη σταλεί" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "Η αποστολή δεν έχει δεσμευμένα είδη αποθέματος" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "Η αποστολή πρέπει να ελεγχθεί πριν μπορέσει να ολοκληρωθεί" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "Επιπλέον γραμμή εντολής πώλησης" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "Δέσμευση αποθέματος εντολής πώλησης" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "Δεν έχει αντιστοιχιστεί είδος αποθέματος" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "Δεν είναι δυνατή η δέσμευση είδους αποθέματος σε γραμμή με διαφορετικό προϊόν" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "Δεν είναι δυνατή η δέσμευση αποθέματος σε γραμμή χωρίς προϊόν" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Η ποσότητα δέσμευσης δεν μπορεί να υπερβαίνει την ποσότητα αποθέματος" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "Η ποσότητα πρέπει να είναι 1 για σειριοποιημένο είδος αποθέματος" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "Η εντολή πώλησης δεν αντιστοιχεί στην αποστολή" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "Η αποστολή δεν αντιστοιχεί στην εντολή πώλησης" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Γραμμή" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Αναφορά αποστολής εντολής πώλησης" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Είδος" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Επιλογή είδους αποθέματος προς δέσμευση" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Εισαγωγή ποσότητας δέσμευσης αποθέματος" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "Αναφορά εντολής επιστροφής" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Εταιρεία από την οποία επιστρέφονται τα είδη" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "Κατάσταση εντολής επιστροφής" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "Γραμμή εντολής επιστροφής" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "Πρέπει να καθοριστεί είδος αποθέματος" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "Η ποσότητα επιστροφής υπερβαίνει την ποσότητα αποθέματος" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "Η ποσότητα επιστροφής πρέπει να είναι μεγαλύτερη από το μηδέν" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "Μη έγκυρη ποσότητα για σειριοποιημένο είδος αποθέματος" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Επιλογή είδους προς επιστροφή από τον πελάτη" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Ημερομηνία παραλαβής" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Έκβαση" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Έκβαση για αυτή τη γραμμή" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Κόστος που σχετίζεται με την επιστροφή ή επισκευή για αυτή τη γραμμή" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "Επιπλέον γραμμή εντολής επιστροφής" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "Αντιγραφή επιπλέον γραμμών" msgid "Copy extra line items from the original order" msgstr "Αντιγραφή επιπλέον γραμμών από την αρχική παραγγελία" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Αντιγραφή παραμέτρων" @@ -5784,11 +5788,11 @@ msgstr "Συγχώνευση ειδών" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Συγχώνευση ειδών με το ίδιο προϊόν, προορισμό και ημερομηνία στόχο σε μία γραμμή" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "SKU" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Εσωτερικός κωδικός προϊόντος" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Εισαγάγετε κωδικό παρτίδας για τα εισερχόμενα είδη αποθέματος" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Ημερομηνία λήξης" @@ -6056,123 +6060,131 @@ msgstr "Εκπρόθεσμη εντολή επιστροφής" msgid "Return order {ro} is now overdue" msgstr "Η εντολή επιστροφής {ro} είναι πλέον εκπρόθεσμη" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "Με αστέρι" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "Φιλτράρισμα κατά κατηγορίες με αστέρι" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Βάθος" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "Φιλτράρισμα κατά βάθος κατηγορίας" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "Ανώτατο επίπεδο" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "Φιλτράρισμα κατά κατηγορίες ανώτατου επιπέδου" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "Κατά κληρονομικότητα" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "Συμπερίληψη υποκατηγοριών στα φιλτραρισμένα αποτελέσματα" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "Γονική" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "Φιλτράρισμα κατά γονική κατηγορία" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "Εξαίρεση υποκατηγοριών κάτω από την καθορισμένη κατηγορία" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "Έχει αποτελέσματα" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "Είναι παραλλαγή" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "Είναι αναθεώρηση" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "Έχει αναθεωρήσεις" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "Έγκυρο BOM" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "Κατηγορίες κατά κληρονομικότητα" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "Αν είναι αληθές, συμπεριλαμβάνονται είδη σε θυγατρικές κατηγορίες της δοσμένης κατηγορίας" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Φιλτράρισμα κατά αριθμητικό ID κατηγορίας ή τη λέξη 'null'" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "Το προϊόν συναρμολόγησης είναι υπό δοκιμή" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "Το προϊόν Προϊόντος είναι υπό δοκιμή" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "Χρήσεις" @@ -6213,7 +6225,7 @@ msgstr "Προεπιλεγμένες λέξεις-κλειδιά για προϊ msgid "Icon" msgstr "Εικονίδιο" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Εικονίδιο (προαιρετικό)" @@ -6349,7 +6361,7 @@ msgstr "Λέξεις-κλειδιά προϊόντος για βελτίωση msgid "Part category" msgstr "Κατηγορία προϊόντος" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6358,7 +6370,7 @@ msgstr "IPN" msgid "Part revision or version number" msgstr "Αριθμός αναθεώρησης ή έκδοσης προϊόντος" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Αναθεώρηση" @@ -6382,7 +6394,7 @@ msgstr "Προεπιλεγμένη λήξη" msgid "Expiry time (in days) for stock items of this part" msgstr "Χρόνος λήξης (σε ημέρες) για είδη αποθέματος αυτού του προϊόντος" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Ελάχιστο απόθεμα" @@ -6390,7 +6402,7 @@ msgstr "Ελάχιστο απόθεμα" msgid "Minimum allowed stock level" msgstr "Ελάχιστο επιτρεπτό επίπεδο αποθέματος" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "Υποπροϊόν" msgid "Select part to be used in BOM" msgstr "Επιλέξτε προϊόν που θα χρησιμοποιηθεί στο BOM" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "Γονική κατηγορία" msgid "Parent part category" msgstr "Γονική κατηγορία προϊόντος" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Υποκατηγορίες" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "Αποτελέσματα" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "Αριθμός αποτελεσμάτων που έχουν καταγραφεί για αυτό το πρότυπο" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Νόμισμα αγοράς για αυτό το είδος αποθέματος" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "Το αρχείο δεν είναι εικόνα" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Αρχικό προϊόν" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Επιλέξτε αρχικό προϊόν για αντιγραφή" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Αντιγραφή εικόνας" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Αντιγραφή εικόνας από το αρχικό προϊόν" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Αντιγραφή BOM" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "Αντιγραφή λίστας υλικών (BOM) από το αρχικό προϊόν" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "Αντιγραφή δεδομένων παραμέτρων από το αρχικό προϊόν" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Αντιγραφή σημειώσεων" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "Αντιγραφή σημειώσεων από το αρχικό προϊόν" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "Αντιγραφή δοκιμών" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "Αντιγραφή προτύπων δοκιμών από το αρχικό προϊόν" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Αρχική ποσότητα αποθέματος" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Καθορίστε αρχική ποσότητα αποθέματος για αυτό το προϊόν. Αν η ποσότητα είναι μηδέν, δεν προστίθεται απόθεμα" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Αρχική τοποθεσία αποθέματος" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Καθορίστε αρχική τοποθεσία αποθέματος για αυτό το προϊόν" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Επιλέξτε προμηθευτή (ή αφήστε κενό για παράλειψη)" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Επιλέξτε κατασκευαστή (ή αφήστε κενό για παράλειψη)" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Κωδικός προϊόντος κατασκευαστή" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "Η επιλεγμένη εταιρεία δεν είναι έγκυρος προμηθευτής" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "Η επιλεγμένη εταιρεία δεν είναι έγκυρος κατασκευαστής" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "Υπάρχει ήδη προϊόν κατασκευαστή με αυτό το MPN" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "Υπάρχει ήδη προϊόν προμηθευτή με αυτό το SKU" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Όνομα κατηγορίας" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "Σε παραγωγή" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "Ποσότητα αυτού του προϊόντος που βρίσκεται αυτή τη στιγμή σε παραγωγή" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Εκκρεμής ποσότητα αυτού του προϊόντος που έχει προγραμματιστεί για παραγωγή" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Είδη αποθέματος" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "Αναθεωρήσεις" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Συνολικό απόθεμα" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "Μη δεσμευμένο απόθεμα" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "Απόθεμα παραλλαγών" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Αντιγραφή προϊόντος" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "Αντιγραφή αρχικών δεδομένων από άλλο προϊόν" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Αρχικό απόθεμα" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "Δημιουργία προϊόντος με αρχική ποσότητα αποθέματος" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Πληροφορίες προμηθευτή" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "Προσθήκη αρχικών πληροφοριών προμηθευτή για αυτό το προϊόν" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Αντιγραφή παραμέτρων κατηγορίας" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "Αντιγραφή προτύπων παραμέτρων από την επιλεγμένη κατηγορία προϊόντος" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Υπάρχουσα εικόνα" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "Όνομα αρχείου υπάρχουσας εικόνας προϊόντος" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "Το αρχείο εικόνας δεν υπάρχει" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Επικύρωση ολόκληρης της λίστας υλικών (BOM)" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Μπορεί να παραχθεί" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "Απαιτείται για εντολές παραγωγής" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "Δεσμευμένο σε εντολές παραγωγής" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "Απαιτείται για εντολές πώλησης" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "Δεσμευμένο σε εντολές πώλησης" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Ελάχιστη τιμή" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Παράκαμψη υπολογισμένης τιμής για την ελάχιστη τιμή" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Νόμισμα ελάχιστης τιμής" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Μέγιστη τιμή" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "Παράκαμψη υπολογισμένης τιμής για τη μέγιστη τιμή" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Νόμισμα μέγιστης τιμής" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Ενημέρωση" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "Ενημέρωση τιμολόγησης για αυτό το προϊόν" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Δεν ήταν δυνατή η μετατροπή από τα δοθέντα νομίσματα σε {default_currency}" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "Η ελάχιστη τιμή δεν πρέπει να είναι μεγαλύτερη από τη μέγιστη τιμή" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "Η μέγιστη τιμή δεν πρέπει να είναι μικρότερη από την ελάχιστη τιμή" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "Επιλέξτε τη γονική συναρμολόγηση" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "Επιλέξτε το προϊόν Προϊόντος" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "Επιλέξτε προϊόν από το οποίο θα αντιγραφεί το BOM" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Αφαίρεση υπαρχόντων δεδομένων" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "Αφαίρεση υπαρχόντων στοιχείων BOM πριν την αντιγραφή" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Συμπερίληψη κληρονομημένων" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "Συμπερίληψη στοιχείων BOM που κληρονομούνται από προϊόντα προτύπων" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Παράλειψη μη έγκυρων γραμμών" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Ενεργοποιήστε αυτή την επιλογή για να παραλείπονται οι μη έγκυρες γραμμές" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Αντιγραφή εναλλακτικών προϊόντων" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "Αντιγραφή εναλλακτικών προϊόντων κατά την αντιγραφή στοιχείων BOM" @@ -7326,91 +7338,91 @@ msgstr "Δεν έχει καθοριστεί ενέργεια" msgid "No matching action found" msgstr "Δεν βρέθηκε αντίστοιχη ενέργεια" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "Δεν βρέθηκε αντιστοίχιση για τα δεδομένα barcode" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Βρέθηκε αντιστοίχιση για τα δεδομένα barcode" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "Το μοντέλο δεν υποστηρίζεται" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "Δεν βρέθηκε η συγκεκριμένη εγγραφή του μοντέλου" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "Το barcode αντιστοιχεί σε υπάρχον είδος" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "Δεν βρέθηκαν αντίστοιχα δεδομένα προϊόντος" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "Δεν βρέθηκαν αντίστοιχα προϊόντα προμηθευτή" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "Βρέθηκαν πολλαπλά αντίστοιχα προϊόντα προμηθευτή" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "Δεν βρέθηκε αντίστοιχο πρόσθετο για τα δεδομένα barcode" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "Αντίστοιχο προϊόν προμηθευτή" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "Το είδος έχει ήδη παραληφθεί" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "Δεν υπάρχει πρόσθετο που να ταιριάζει για το barcode προμηθευτή" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "Βρέθηκαν πολλαπλές αντίστοιχες γραμμές" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "Δεν βρέθηκε αντίστοιχη γραμμή" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "Δεν δόθηκε εντολή πώλησης" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "Το barcode δεν αντιστοιχεί σε υπάρχον είδος αποθέματος" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "Το είδος αποθέματος δεν ταιριάζει με τη γραμμή" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "Μη επαρκές διαθέσιμο απόθεμα" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "Το είδος αποθέματος δεσμεύτηκε στην εντολή πώλησης" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "Μη επαρκείς πληροφορίες" @@ -7992,7 +8004,7 @@ msgstr "Περίγραμμα" msgid "Print a border around each label" msgstr "Εκτύπωση περιγράμματος γύρω από κάθε ετικέτα" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "Οριζόντιος προσανατολισμός" @@ -8481,136 +8493,136 @@ msgstr "Legal" msgid "Letter" msgstr "Letter" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "Υπάρχει ήδη αρχείο προτύπου με αυτό το όνομα" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Όνομα προτύπου" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "Περιγραφή προτύπου" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "Αριθμός αναθεώρησης (αυτόματη αύξηση)" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "Συσχέτιση με μοντέλο κατά την εκτύπωση" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Αποθήκευση του παραγόμενου αναφοράς ως συνημμένου στην συνδεδεμένη εγγραφή μοντέλου κατά την εκτύπωση" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Μοτίβο ονόματος αρχείου" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "Μοτίβο για τη δημιουργία ονομάτων αρχείων" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "Το πρότυπο είναι ενεργό" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "Τύπος μοντέλου-στόχου για το πρότυπο" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Φίλτρα" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "Φίλτρα ερωτημάτων προτύπου (λίστα ζευγών key=value χωρισμένων με κόμμα)" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "Αρχείο προτύπου" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "Μέγεθος σελίδας για αναφορές PDF" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "Απόδοση αναφοράς σε οριζόντιο προσανατολισμό" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "Συγχώνευση" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "Απόδοση μίας ενιαίας αναφοράς για τα επιλεγμένα είδη" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "Αναφορά που δημιουργήθηκε από το πρότυπο {self.name}" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "Σφάλμα σύνταξης προτύπου" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "Σφάλμα κατά την απόδοση της αναφοράς" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "Σφάλμα κατά τη δημιουργία της αναφοράς" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "Σφάλμα κατά τη συγχώνευση των αποτελεσμάτων αναφοράς" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Πλάτος [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Πλάτος ετικέτας, σε mm" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Ύψος [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Ύψος ετικέτας, σε mm" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "Σφάλμα κατά την εκτύπωση ετικετών" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Απόσπασμα" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Αρχείο αποσπάσματος αναφοράς" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Περιγραφή αρχείου αποσπάσματος" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Πόρος" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Αρχείο πόρου αναφοράς" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Περιγραφή αρχείου πόρου" @@ -8766,200 +8778,200 @@ msgstr "Χωρίς αποτέλεσμα" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "Το αρχείο εικόνας δεν βρέθηκε" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "Το tag part_image απαιτεί μία παρουσία Aντικειμένου" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "Το tag company_image απαιτεί ένα Aντικειμένου Company" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "Φιλτράρισμα ανά βάθος τοποθεσίας" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "Φιλτράρισμα κατά τοποθεσίες ανώτατου επιπέδου" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "Συμπερίληψη υποτοποθεσιών στα φιλτραρισμένα αποτελέσματα" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "Γονική τοποθεσία" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "Φιλτράρισμα βάσει γονικής τοποθεσίας" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "Όνομα προϊόντος (χωρίς διάκριση πεζών/κεφαλαίων)" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "Το όνομα προϊόντος περιέχει (χωρίς διάκριση πεζών/κεφαλαίων)" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "Όνομα προϊόντος (regex)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "IPN προϊόντος (χωρίς διάκριση πεζών/κεφαλαίων)" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "Το IPN προϊόντος περιέχει (χωρίς διάκριση πεζών/κεφαλαίων)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "IPN προϊόντος (regex)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "Ελάχιστο απόθεμα" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "Μέγιστο απόθεμα" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Κωδικός κατάστασης" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Εξωτερική τοποθεσία" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "Αναλωμένο από εντολή παραγωγής" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "Εγκατεστημένο σε άλλο είδος αποθέματος" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "Δέντρο προϊόντος" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "Ενημερώθηκε πριν από" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "Ενημερώθηκε μετά από" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "Απογραφή πριν από" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "Απογραφή μετά από" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "Ημερομηνία λήξης πριν από" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "Ημερομηνία λήξης μετά από" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "Παλαιωμένο" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "Δώστε ένα PK είδους αποθέματος για να εξαιρεθεί αυτό και όλοι οι απόγονοί του" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "Διαδοχικές τοποθεσίες" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "Αν είναι true, περιλαμβάνει είδη σε θυγατρικές τοποθεσίες της δεδομένης τοποθεσίας" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "Φιλτράρισμα κατά αριθμητικό ID τοποθεσίας ή τη λέξη 'null'" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "Απαιτείται ποσότητα" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "Πρέπει να δοθεί έγκυρο προϊόν" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "Το δοθέν προϊόν προμηθευτή δεν υπάρχει" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Το προϊόν προμηθευτή έχει ορισμένο μέγεθος συσκευασίας, αλλά η σημαία use_pack_size δεν έχει τεθεί" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Δεν μπορούν να δοθούν σειριακοί αριθμοί για μη ιχνηλάσιμο προϊόν" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "Συμπερίληψη εγκατεστημένων" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "Αν είναι true, περιλαμβάνει αποτελέσματα δοκιμών για είδη που είναι εγκατεστημένα κάτω από το συγκεκριμένο είδος αποθέματος" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "Φιλτράρισμα κατά αριθμητικό ID είδους αποθέματος" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "Είδος αποθέματος με ID {id} δεν υπάρχει" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "Επιλέξτε ιδιοκτήτη" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Τα είδη αποθέματος δεν μπορούν να τοποθετηθούν απευθείας σε δομικές τοποθεσίες αποθέματος, αλλά μπορούν να τοποθετηθούν σε θυγατρικές τοποθεσίες." -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Εξωτερικό" @@ -9101,7 +9113,7 @@ msgstr "Επιλέξτε αντίστοιχο προϊόν προμηθευτή msgid "Where is this stock item located?" msgstr "Πού βρίσκεται αυτό το είδος αποθέματος;" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "Συσκευασία στην οποία αποθηκεύεται αυτό το είδος αποθέματος" @@ -9117,7 +9129,7 @@ msgstr "Είναι αυτό το είδος εγκατεστημένο σε άλ msgid "Serial number for this item" msgstr "Σειριακός αριθμός για αυτό το είδος" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Κωδικός παρτίδας για αυτό το είδος αποθέματος" @@ -9234,7 +9246,7 @@ msgstr "Το είδος αποθέματος βρίσκεται αυτή τη σ msgid "Serialized stock cannot be merged" msgstr "Σειριακό απόθεμα δεν μπορεί να συγχωνευθεί" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Διπλότυπα είδη αποθέματος" @@ -9398,7 +9410,7 @@ msgstr "Εισαγάγετε σειριακούς αριθμούς για νέα msgid "Supplier Part Number" msgstr "Κωδικός προϊόντος προμηθευτή" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Ληγμένο" @@ -9428,8 +9440,8 @@ msgstr "Δεν δόθηκε είδος αποθέματος" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Η ποσότητα δεν πρέπει να υπερβαίνει το διαθέσιμο απόθεμα ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Τοποθεσία προορισμού αποθέματος" @@ -9501,127 +9513,127 @@ msgstr "Επιλέξτε είδη αποθέματος για αλλαγή κα msgid "No stock items selected" msgstr "Δεν επιλέχθηκαν είδη αποθέματος" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Υποτοποθεσίες" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "Γονική τοποθεσία αποθέματος" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "Το προϊόν πρέπει να είναι διαθέσιμο για πώληση" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "Το είδος έχει δεσμευτεί σε εντολή πώλησης" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "Το είδος έχει δεσμευτεί σε εντολή παραγωγής" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "Πελάτης στον οποίο θα αποδοθούν τα είδη αποθέματος" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "Η επιλεγμένη εταιρεία δεν είναι πελάτης" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Σημειώσεις απόδοσης αποθέματος" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "Πρέπει να δοθεί λίστα ειδών αποθέματος" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Σημειώσεις συγχώνευσης αποθέματος" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Να επιτρέπονται διαφορετικοί προμηθευτές" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "Να επιτρέπεται η συγχώνευση ειδών αποθέματος με διαφορετικά προϊόντα προμηθευτή" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Να επιτρέπεται διαφορετική κατάσταση" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "Να επιτρέπεται η συγχώνευση ειδών αποθέματος με διαφορετικούς κωδικούς κατάστασης" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "Πρέπει να δοθούν τουλάχιστον δύο είδη αποθέματος" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "Καμία αλλαγή" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Τιμή πρωτεύοντος κλειδιού StockItem" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "Το είδος δεν βρίσκεται σε απόθεμα" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "Το είδος βρίσκεται ήδη σε απόθεμα" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "Η ποσότητα δεν πρέπει να είναι αρνητική" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Σημειώσεις συναλλαγής αποθέματος" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "Συγχώνευση με υπάρχον απόθεμα" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "Συγχώνευση επιστρεφόμενων ειδών με υπάρχοντα είδη αποθέματος, όπου είναι δυνατό" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "Επόμενος σειριακός αριθμός" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "Προηγούμενος σειριακός αριθμός" @@ -9919,7 +9931,7 @@ msgstr "Δικαιώματα" msgid "Important dates" msgstr "Σημαντικές ημερομηνίες" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "Το διακριτικό έχει ανακληθεί" @@ -9927,163 +9939,163 @@ msgstr "Το διακριτικό έχει ανακληθεί" msgid "Token has expired" msgstr "Το διακριτικό έχει λήξει" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "Διακριτικό API" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "Διακριτικά API" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Όνομα διακριτικού" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Προσαρμοσμένο όνομα διακριτικού" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Ημερομηνία λήξης διακριτικού" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Τελευταία δραστηριότητα" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "Τελευταία φορά που χρησιμοποιήθηκε το διακριτικό" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Έχει ανακληθεί" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Σύνολο δικαιωμάτων" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Προβολή" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Δικαίωμα προβολής Προϊόντων" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Προσθήκη" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Δικαίωμα προσθήκης Προϊόντων" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Τροποποίηση" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Δικαίωμα επεξεργασίας Προϊόντων" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Διαγραφή" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Δικαίωμα διαγραφής Προϊόντων" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "Bot" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "Εσωτερικός" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "Επισκέπτης" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "Γλώσσα" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "Προτιμώμενη γλώσσα χρήστη" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "Θέμα" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "Ρυθμίσεις για το web UI σε μορφή JSON - μην τις επεξεργάζεστε χειροκίνητα!" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "Μικροεφαρμογές" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "Ρυθμίσεις για τα widgets του πίνακα ελέγχου σε μορφή JSON - μην τις επεξεργάζεστε χειροκίνητα!" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "Προβαλλόμενο όνομα" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "Επιλεγμένο προβαλλόμενο όνομα χρήστη" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "Θέση" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "Κύριος επαγγελματικός τίτλος ή θέση" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "Μήνυμα κατάστασης χρήστη" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "Πληροφορίες τοποθεσίας χρήστη" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "Ο χρήστης χρησιμοποιεί ενεργά το σύστημα" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "Προτιμώμενα στοιχεία επικοινωνίας χρήστη" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "Τύπος χρήστη" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "Τι τύπος χρήστη είναι;" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "Οργανισμός" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "Κύριος οργανισμός/φορέας του χρήστη" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "Κύρια ομάδα" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "Κύρια ομάδα του χρήστη" diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po index 9087544289..21d7d2ba02 100644 --- a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 23:58+0000\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,39 +18,39 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "" @@ -66,11 +66,11 @@ msgstr "" msgid "You must type the same email each time." msgstr "" -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "" @@ -89,7 +89,7 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "" @@ -106,22 +106,22 @@ msgstr "" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "" @@ -165,51 +165,51 @@ msgstr "" msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "" @@ -221,117 +221,121 @@ msgstr "" msgid "Email" msgstr "" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -346,7 +350,7 @@ msgstr "" msgid "Currency" msgstr "" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "" @@ -522,11 +526,11 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -538,7 +542,7 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "" @@ -547,23 +551,23 @@ msgstr "" msgid "Parent Build" msgstr "" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -573,7 +577,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -584,9 +588,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "" @@ -594,7 +598,7 @@ msgstr "" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "" @@ -602,11 +606,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "" @@ -642,99 +646,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -774,9 +778,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -805,7 +809,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "" @@ -822,7 +826,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "" @@ -855,7 +859,7 @@ msgid "Build status code" msgstr "" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "" @@ -884,8 +888,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "" @@ -901,7 +905,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -929,7 +933,7 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "" @@ -963,9 +967,9 @@ msgstr "" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "" @@ -1000,7 +1004,7 @@ msgstr "" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1050,7 +1054,7 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "" @@ -1058,8 +1062,8 @@ msgstr "" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "" @@ -1083,7 +1087,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "" @@ -1140,7 +1144,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1273,7 +1277,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "" @@ -1386,8 +1390,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "" @@ -1417,24 +1421,24 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "" @@ -1528,31 +1532,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1572,8 +1576,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1646,8 +1650,8 @@ msgstr "" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "" @@ -1655,8 +1659,8 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "" @@ -1678,8 +1682,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1687,7 +1691,7 @@ msgstr "" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "" @@ -1757,7 +1761,7 @@ msgstr "" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2173,7 +2177,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "" @@ -2205,8 +2209,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "" @@ -2263,7 +2267,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "" @@ -2385,7 +2389,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "" @@ -2431,7 +2435,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2525,7 +2529,7 @@ msgstr "" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2915,8 +2919,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "" @@ -2932,7 +2936,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "" @@ -3145,7 +3149,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "" @@ -4129,49 +4133,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4200,12 +4204,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "" @@ -4246,7 +4250,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "" @@ -4298,7 +4302,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "" @@ -4391,7 +4395,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "" @@ -4409,7 +4413,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4438,10 +4442,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4449,7 +4453,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4486,7 +4490,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4534,7 +4538,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "" @@ -4723,7 +4727,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "" @@ -4839,7 +4843,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "" @@ -4943,7 +4947,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "" @@ -4967,118 +4971,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5086,14 +5090,14 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5136,11 +5140,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5152,7 +5156,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -5185,487 +5189,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5693,7 +5697,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "" @@ -5785,11 +5789,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5826,7 +5830,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6057,123 +6061,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6214,7 +6226,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -6350,7 +6362,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6359,7 +6371,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "" @@ -6383,7 +6395,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "" @@ -6391,7 +6403,7 @@ msgstr "" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6760,7 +6772,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6912,351 +6924,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7327,91 +7339,91 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7993,7 +8005,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8482,136 +8494,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8767,200 +8779,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8996,7 +9008,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9102,7 +9114,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9118,7 +9130,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9235,7 +9247,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9399,7 +9411,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9429,8 +9441,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9502,127 +9514,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9920,7 +9932,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9928,163 +9940,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index 652177f82f..addf67b5e2 100644 --- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "endpoint API no encontrado" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "Se debe proporcionar una lista de elementos para la operación por lotes" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Los artículos deben ser proporcionados como una lista" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Lista de artículos no válida" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "Todos los filtros tienen que ser usados con verdadero" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "Ningún artículo coincide con el criterio proporcionado" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "Sin datos proporcionados" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "Este campo debe ser único." -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "El usuario no tiene permiso para ver este modelo" @@ -65,11 +65,11 @@ msgstr "Confirmación de dirección de email" msgid "You must type the same email each time." msgstr "Debe escribir el mismo correo electrónico cada vez." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "La dirección de correo electrónico principal proporcionada no es válida." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "El dominio de correo electrónico proporcionado no está aprobado." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "No se pudo convertir {original} a {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" @@ -105,22 +105,22 @@ msgstr "Ingrese la fecha" msgid "Invalid decimal value" msgstr "Número decimal no válido" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Notas" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "El valor '{name}' no aparece en formato de patrón" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "El valor proporcionado no coincide con el patrón requerido: " @@ -164,51 +164,51 @@ msgstr "Eliminar etiquetas HTML de este valor" msgid "Data contains prohibited markdown content" msgstr "Los datos contienen contenido de marcado prohibido" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "URL no válida: falta el nombre de host" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "URL no válida: no se pudo resolver el nombre de host" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "La URL apunta a una dirección IP privada o reservada" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "Demasiadas redirecciones" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Error de conexión" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "El servidor respondió con código de estado no válido" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Se ha producido una excepción" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "El servidor respondió con un valor de longitud de contenido inválido" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "El tamaño de la imagen es demasiado grande" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "La descarga de imagen excedió el tamaño máximo" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "El servidor remoto devolvió una respuesta vacía" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "La URL proporcionada no es un archivo de imagen válido" @@ -220,117 +220,121 @@ msgstr "Iniciar sesión en la aplicación" msgid "Email" msgstr "Correo electrónico" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Debe habilitar la autenticación de doble factor antes de continuar." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Error al ejecutar la validación del plug-in" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Los metadatos deben ser un objeto diccionario de python" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Metadatos del complemento" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "Campo de metadatos JSON, para uso por complementos externos" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Patrón con formato incorrecto" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Clave de formato especificado desconocida" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Falta la clave de formato necesaria" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "El campo de servidor no puede estar vacío" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "La referencia debe coincidir con la expresión regular {pattern}" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "El número de referencia es demasiado grande" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Descripción" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Descripción (opcional)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Ruta" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Notas de Markdown (opcional)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Datos de código de barras" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Datos de código de barras de terceros" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Hash del Código de barras" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Hash único de datos de código de barras" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Error de servidor" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Se ha registrado un error por el servidor." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Debe ser un número válido" msgid "Currency" msgstr "Moneda" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" @@ -521,11 +525,11 @@ msgstr "Chino (Simplificado)" msgid "Chinese (Traditional)" msgstr "Chino (Tradicional)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "Actualización disponible" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "Una actualización para InvenTree está disponible" @@ -537,7 +541,7 @@ msgstr "Unidad física inválida" msgid "Not a valid currency code" msgstr "No es un código de moneda válido" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Estado del pedido" @@ -546,23 +550,23 @@ msgstr "Estado del pedido" msgid "Parent Build" msgstr "Construcción o Armado Superior" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "Incluye Variantes" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "Incluye Variantes" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "Incluye Variantes" msgid "Part" msgstr "Parte" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Categoría" @@ -593,7 +597,7 @@ msgstr "Categoría" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Asignado a mí" @@ -601,11 +605,11 @@ msgstr "Asignado a mí" msgid "Assigned To" msgstr "Asignadas a" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Creado antes" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Creado despues" @@ -641,99 +645,99 @@ msgstr "Completado antes" msgid "Completed after" msgstr "Completado después" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "Fecha Mínima" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "Fecha Máxima" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "Excluir Árbol" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Consumible" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Opcional" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Montaje" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Rastreado" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Comprobable" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Pedido pendiente" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Asignadas" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "Agotado" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Disponible" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "En pedido" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Construir órden" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Ubicación" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "Salida" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "La fecha límite debe ser posterior a la fecha de inicio" msgid "Build Order Reference" msgstr "Número de orden de construcción o armado" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Referencia de orden de venta" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Ubicación de la fuente" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Ubicación de destino" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Código de estado de construcción" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Numero de lote" @@ -883,8 +887,8 @@ msgstr "Fecha límite de finalización" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Fecha de finalización" @@ -900,7 +904,7 @@ msgstr "Emitido por" msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Prioridad de esta orden de construcción" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Código del proyecto" @@ -962,9 +966,9 @@ msgstr "La salida de la construcción no coincide con el orden de construcción" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" @@ -999,7 +1003,7 @@ msgstr "Ensamblar equipo" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "La cantidad debe ser 1 para el stock serializado" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" @@ -1057,8 +1061,8 @@ msgstr "Artículo de stock sobreasignado" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Artículo de stock" @@ -1082,7 +1086,7 @@ msgstr "Artículo de stock de destino" msgid "Build Level" msgstr "Nivel de construcción" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Nombre de parte" @@ -1139,7 +1143,7 @@ msgstr "Autoasignar Números de Serie" msgid "Automatically allocate required items with matching serial numbers" msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" @@ -1272,7 +1276,7 @@ msgstr "Crear partida" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part debe apuntar a la misma parte que la orden de construcción" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "El artículo debe estar en stock" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Parte del proveedor" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Permitir variantes" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "Item de Lista de Materiales" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "En producción" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Stock externo" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Stock Disponible" @@ -1527,31 +1531,31 @@ msgstr "Orden de construcción atrasada" msgid "Build order {bo} is now overdue" msgstr "El pedido de construcción {bo} está atrasado" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "¿Es enlace?" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "¿Es archivo?" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "El usuario no tiene permiso para eliminar estos adjuntos" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "El usuario no tiene permiso para eliminar este adjunto" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "Lista de selección bloqueada" @@ -1571,8 +1575,8 @@ msgstr "No se han proporcionado códigos de divisa válidos" msgid "No plugin" msgstr "Sin plugin" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "Cadena de clave debe ser única" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Usuario" @@ -1654,8 +1658,8 @@ msgstr "Usuario" msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Precio" @@ -1677,8 +1681,8 @@ msgstr "Nombre para este webhook" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Activo" @@ -1686,7 +1690,7 @@ msgstr "Activo" msgid "Is this webhook active" msgstr "Está activo este webhook" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Token" @@ -1756,7 +1760,7 @@ msgstr "Título" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "Opciones válidas para este parámetro (separados por comas)" msgid "Selection list for this parameter" msgstr "Lista de selección para este parámetro" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Habilitado" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Plantilla" @@ -2262,7 +2266,7 @@ msgstr "Fecha y hora del escaneo de código de barras" msgid "URL endpoint which processed the barcode" msgstr "Dispositivo URL que procesó el código de barras" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Contexto" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Clave" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} cancelado" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Artículos Recibidos" @@ -2524,7 +2528,7 @@ msgstr "Nombre de Archivo" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "Las partes son plantillas por defecto" msgid "Parts can be assembled from other components by default" msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Componente" @@ -2931,7 +2935,7 @@ msgstr "Comprable" msgid "Parts are purchaseable by default" msgstr "Las partes son comprables por defecto" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Vendible" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "Registrar errores ocurridos al generar reportes" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Tamaño de página" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Un dominio vacío no está permitido." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nombre de dominio inválido: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Fabricante" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Empresa" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Correo electrónico de contacto" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Contacto" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Dirección" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "Enlace a información de dirección (externa)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Parte del fabricante" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Seleccionar fabricante" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte base" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Proveedor" @@ -4448,7 +4452,7 @@ msgstr "Proveedor" msgid "Select supplier" msgstr "Seleccionar proveedor" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Unidad de mantenimiento de stock de proveedores" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Paquetes" @@ -4533,7 +4537,7 @@ msgstr "Moneda predeterminada utilizada para este proveedor" msgid "Company Name" msgstr "Nombre de la empresa" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "En Stock" @@ -4722,7 +4726,7 @@ msgstr "Datos de la fila original" msgid "Errors" msgstr "Errores" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Válido" @@ -4838,7 +4842,7 @@ msgstr "Número de copias a imprimir para cada etiqueta" msgid "Connected" msgstr "Conectado" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Desconocido" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Grupo" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Referencia del pedido" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "Destacado" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "Tiene Código de Proyecto" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Creado por" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "Creado antes de" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "Creado después de" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "Tiene fecha inicial" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "Fecha de inicio anterior" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "Fecha de inicio después" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "Tiene fecha límite" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "Fecha objetivo antes" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "Fecha objetivo después" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "Tiene Precio" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "Completado antes de" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "Completado después de" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Orden" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "Orden completada" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Componente interno" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "Orden pendiente" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Completados" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "Tiene envío" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Orden de compra" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Orden de compra" msgid "Sales Order" msgstr "Orden de Venta" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Orden de devolución" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "Descripción del pedido (opcional)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Seleccione el código del proyecto para este pedido" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Enlace a Url externa" @@ -5151,7 +5155,7 @@ msgstr "Fecha de inicio" msgid "Scheduled start date for this order" msgstr "Fecha de inicio programada para este pedido" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Fecha objetivo" @@ -5184,487 +5188,487 @@ msgstr "Punto de contacto para este pedido" msgid "Company address for this order" msgstr "Dirección de la empresa para este pedido" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Referencia del pedido" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Estado" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Estado de la orden de compra" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Empresa de la cual se están encargando los artículos" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Referencia del proveedor" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Código de referencia de pedido del proveedor" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "recibido por" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "La fecha de pedido fue completada" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Destinación" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "Destino para los artículos recibidos" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "El proveedor de la parte debe coincidir con el proveedor de PO" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "La partida no coincide con la orden de compra" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "La cantidad debe ser un número positivo" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Cliente" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Empresa a la que se venden los artículos" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "Estado de la orden de venta" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Referencia del cliente " -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Código de referencia de pedido del cliente" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Fecha de envío" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "enviado por" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "La orden ya fue completada" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "La orden ya fue cancelada" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Sólo una orden abierta puede ser marcada como completa" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "El pedido no se puede completar porque hay envíos incompletos" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "El pedido no se puede completar ya que hay asignaciones incompletas" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "El pedido no se puede completar porque hay partidas incompletas" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "Este pedido está bloqueado y no puede ser modificado" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Cantidad del artículo" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Referencia de partida" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Notas de partida" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Fecha objetivo para esta partida (dejar en blanco para usar la fecha de destino de la orden)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Descripción de partida (opcional)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "Contexto adicional para esta línea" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Precio unitario" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "La parte del proveedor debe coincidir con el proveedor" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Parte del proveedor" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Recibido" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Número de artículos recibidos" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Precio de Compra" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Precio de compra unitario" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "Sólo las partes vendibles pueden ser asignadas a un pedido de venta" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Precio de Venta" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Precio de venta unitario" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Enviado" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Cantidad enviada" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Fecha del envío" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Fecha de entrega" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Fecha de entrega del envío" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Revisado por" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Usuario que revisó este envío" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Envío" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Número de envío" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Número de Seguimiento" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Información de seguimiento del envío" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Número de factura" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Número de referencia para la factura asociada" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "El envío ya ha sido enviado" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "El envío no tiene artículos de stock asignados" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "El artículo de stock no ha sido asignado" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "No se puede asignar el artículo de stock a una línea con una parte diferente" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "No se puede asignar stock a una línea sin una parte" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La cantidad de asignación no puede exceder la cantidad de stock" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "La cantidad debe ser 1 para el stock serializado" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "La orden de venta no coincide con el envío" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "El envío no coincide con el pedido de venta" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Línea" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Referencia del envío del pedido de venta" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Ítem" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Seleccionar artículo de stock para asignar" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Especificar la cantidad de asignación de stock" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "Referencia de la orden de devolución" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Empresa de la cual se están devolviendo los artículos" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "Estado de la orden de devolución" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Seleccionar el artículo a devolver del cliente" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Fecha de recepción" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Resultado" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Salida para esta partida" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Costo asociado con la devolución o reparación para esta partida" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "Copiar líneas adicionales" msgid "Copy extra line items from the original order" msgstr "Copiar elementos extra de la línea del pedido original" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Copiar Parámetros" @@ -5784,11 +5788,11 @@ msgstr "Combinar artículos" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "SKU" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Número de parte interna" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Introduzca el código de lote para los artículos de almacén entrantes" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Fecha de Expiración" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "Favoritos" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Profundidad" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "Filtrar por profundidad de categoría" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "Nivel superior" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "Filtrar por categorías de nivel superior" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "En cascada" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "Tiene resultados" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "Palabras clave por defecto para partes en esta categoría" msgid "Icon" msgstr "Icono" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Icono (opcional)" @@ -6349,7 +6361,7 @@ msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqued msgid "Part category" msgstr "Categoría de parte" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6358,7 +6370,7 @@ msgstr "IPN" msgid "Part revision or version number" msgstr "Revisión de parte o número de versión" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Revisión" @@ -6382,7 +6394,7 @@ msgstr "Expiración por defecto" msgid "Expiry time (in days) for stock items of this part" msgstr "Tiempo de expiración (en días) para los artículos de stock de esta parte" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Stock mínimo" @@ -6390,7 +6402,7 @@ msgstr "Stock mínimo" msgid "Minimum allowed stock level" msgstr "Nivel mínimo de stock permitido" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "Sub parte" msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "Categoría principal de parte" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Subcategorías" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Moneda de compra de ítem de stock" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Parte original" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Seleccione la parte original a duplicar" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Copiar Imagen" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Copiar imagen desde la parte original" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Copiar BOM" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "Copiar la factura de materiales de la parte original" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "Copiar datos del parámetro de la parte original" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Cantidad Inicial de Stock" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Seleccione proveedor (o déjelo en blanco para saltar)" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleccionar fabricante (o dejar en blanco para saltar)" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Número de parte del fabricante" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "La empresa seleccionada no es un proveedor válido" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "La empresa seleccionada no es un fabricante válido" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Nombre de categoría" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "En construcción" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Elementos de stock" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Inventario Total" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Stock Inicial" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "Crear Parte con cantidad inicial de stock" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Información del proveedor" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "Añadir información inicial del proveedor para esta parte" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Imagen Existente" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "El archivo de imagen no existe" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Validación de Lista de Materiales" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Puede construir" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Precio mínimo" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Anular el valor calculado para precio mínimo" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Precio mínimo de moneda" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Precio máximo" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Precio máximo de moneda" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "El precio mínimo no debe ser mayor que el precio máximo" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "El precio máximo no debe ser inferior al precio mínimo" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluye artículos BOM que son heredados de partes con plantillas" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Copiar partes sustitutas" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "No se especificó ninguna acción" msgid "No matching action found" msgstr "No se encontró ninguna acción coincidente" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "No se encontró ninguna coincidencia para los datos del código de barras" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Coincidencia encontrada para datos de códigos de barras" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "El código de barras coincide con artículo existente" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "No se ha encontrado ningún complemento para datos de código de barras" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "Ningún pedido de venta proporcionado" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "Legal" msgid "Letter" msgstr "Carta" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Nombre de la plantilla" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "Adjuntar al modelo al imprimir" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Guardar la salida del informe como un archivo adjunto contra la instancia del modelo enlazado al imprimir" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Patrón de Nombre de archivo" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Filtros" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "Tamaño de página para reportes PDF" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Ancho [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Ancho de la etiqueta, especificado en mm" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Altura [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Altura de la etiqueta, especificada en mm" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Fragmento" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Archivo fragmento de informe" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Descripción de archivo de fragmento" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Activo" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Reportar archivo de activos" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Descripción del archivo de activos" @@ -8766,200 +8778,200 @@ msgstr "Sin resultados" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "Ubicación principal" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "Filtrar por ubicación principal" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "Nombre de pieza (insensible a mayúsculas y minúsculas)" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "El nombre de la pieza (insensible a mayúsculas y minúsculas)" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "Nombre de la pieza (expresión regular)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "Pieza IPN (insensible a mayúsculas y minúsculas)" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "Pieza IPN (insensible a mayúsculas y minúsculas)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "Pieza IPN (expresión regular)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "Stock mínimo" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "Stock máximo" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Código de estado" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Ubicación externa" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "Instalado en otro artículo de existencias" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "Árbol de piezas" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "Actualizado antes" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "Actualizado después" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "Inventario antes" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "Inventario después" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "Desactualizado" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "Cantidad requerida" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "Debe suministrarse una parte válida" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "Seleccionar Propietario" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Externo" @@ -9101,7 +9113,7 @@ msgstr "Seleccione una parte del proveedor correspondiente para este artículo d msgid "Where is this stock item located?" msgstr "¿Dónde se encuentra este artículo de stock?" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "Empaquetar este artículo de stock se almacena en" @@ -9117,7 +9129,7 @@ msgstr "¿Está este artículo instalado en otro artículo?" msgid "Serial number for this item" msgstr "Número de serie para este artículo" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Código de lote para este artículo de stock" @@ -9234,7 +9246,7 @@ msgstr "El artículo de stock está en producción" msgid "Serialized stock cannot be merged" msgstr "Stock serializado no puede ser combinado" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Artículos de Stock Duplicados" @@ -9398,7 +9410,7 @@ msgstr "Introduzca números de serie para nuevos artículos" msgid "Supplier Part Number" msgstr "Número de pieza del proveedor" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Expirado" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "La cantidad no debe exceder la cantidad disponible de stock ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Ubicación de stock de destino" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Sub-ubicación" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "La parte debe ser vendible" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "El artículo está asignado a una orden de venta" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "El artículo está asignado a una orden de creación" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "Cliente para asignar artículos de stock" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "La empresa seleccionada no es un cliente" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Notas de asignación de stock" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "Debe proporcionarse una lista de artículos de stock" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Notas de fusión de stock" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Permitir proveedores no coincidentes" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "Permitir fusionar artículos de stock con diferentes partes de proveedor" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Permitir estado no coincidente" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "Permitir fusionar artículos de stock con diferentes códigos de estado" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "Debe proporcionar al menos dos artículos de stock" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "Sin cambios" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Valor de clave primaria de Stock" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "No hay existencias del artículo" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Notas de transacción de stock" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "Permisos" msgid "Important dates" msgstr "Fechas importantes" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "Token revocado" @@ -9927,163 +9939,163 @@ msgstr "Token revocado" msgid "Token has expired" msgstr "Token expirado" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "Token del API" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "Tokens del API" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Nombre del token" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Nombre personalizado del token" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Fecha de expiración del token" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Última conexión" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "Última vez que se usó el token" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Revocado" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Permiso establecido" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Vista" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Permiso para ver artículos" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Añadir" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Permiso para añadir artículos" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Cambiar" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Permisos para editar artículos" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Eliminar" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Permiso para eliminar artículos" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" 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 27abfd0d65..4da5c62b94 100644 --- a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "endpoint API no encontrado" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Los artículos deben ser provistos como una lista" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Lista de artículos inválida" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "Todos los filtros sólo deben ser usados como verdaderos" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "Ningún artículo coincide con el criterio proporcionado" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "El usuario no tiene permiso para ver este modelo" @@ -65,11 +65,11 @@ msgstr "Confirmación de dirección de email" msgid "You must type the same email each time." msgstr "Debe escribir el mismo correo electrónico cada vez." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "La dirección de correo electrónico principal proporcionada no es válida." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "El dominio de correo electrónico proporcionado no está aprobado." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "No se pudo convertir {original} a {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" @@ -105,22 +105,22 @@ msgstr "Ingrese la fecha" msgid "Invalid decimal value" msgstr "Número decimal inválido" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Notas" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "El valor '{name}' no aparece en formato de patrón" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "El valor proporcionado no coincide con el patrón requerido: " @@ -164,51 +164,51 @@ msgstr "Eliminar etiquetas HTML de este valor" msgid "Data contains prohibited markdown content" msgstr "Los datos contienen contenido de markdown prohibido" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Error de conexión" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "El servidor respondió con código de estado no válido" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Se ha producido una excepción" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "El servidor respondió con un valor de longitud de contenido inválido" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "El tamaño de la imagen es demasiado grande" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "La descarga de imagen excedió el tamaño máximo" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "El servidor remoto devolvió una respuesta vacía" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "La URL proporcionada no es un archivo de imagen válido" @@ -220,117 +220,121 @@ msgstr "Iniciar sesión en la aplicación" msgid "Email" msgstr "Correo electrónico" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Debe habilitar la autenticación de doble factor antes de hacer cualquier otra cosa." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Error al ejecutar la validación del plug-in" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Los metadatos deben ser un objeto diccionario de python" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Metadatos del complemento" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "Campo de metadatos JSON, para uso por complementos externos" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Patrón con formato incorrecto" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Clave de formato especificado desconocida" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Falta la clave de formato necesaria" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "El campo de servidor no puede estar vacío" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "La referencia debe coincidir con la expresión regular {pattern}" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "El número de referencia es demasiado grande" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Descripción" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Descripción (opcional)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Ruta" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Notas de Markdown (opcional)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Datos de código de barras" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Datos de código de barras de terceros" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Hash del Código de barras" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Hash único de datos de código de barras" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Error de servidor" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Se ha registrado un error por el servidor." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Debe ser un número válido" msgid "Currency" msgstr "Moneda" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" @@ -521,11 +525,11 @@ msgstr "Chino (Simplificado)" msgid "Chinese (Traditional)" msgstr "Chino (Tradicional)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "Unidad física inválida" msgid "Not a valid currency code" msgstr "No es un código de moneda válido" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Estado del pedido" @@ -546,23 +550,23 @@ msgstr "Estado del pedido" msgid "Parent Build" msgstr "Construcción o Armado Superior" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "Incluye Variantes" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "Incluye Variantes" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "Incluye Variantes" msgid "Part" msgstr "Parte" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Categoría" @@ -593,7 +597,7 @@ msgstr "Categoría" msgid "Ancestor Build" msgstr "Construir antepasado" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Asignado a mí" @@ -601,11 +605,11 @@ msgstr "Asignado a mí" msgid "Assigned To" msgstr "Asignadas a" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Creado antes de" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Creado después de" @@ -641,99 +645,99 @@ msgstr "Completado antes de" msgid "Completed after" msgstr "Completado después de" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Consumible" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Opcional" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Montaje" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Rastreado" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Comprobable" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Pedido pendiente" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Asignadas" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Disponible" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "En pedido" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Construir órden" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Ubicación" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Número de orden de construcción o armado" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Referencia de orden de venta" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Ubicación de la fuente" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Ubicación de destino" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Código de estado de construcción" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Numero de lote" @@ -883,8 +887,8 @@ msgstr "Fecha límite de finalización" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Fecha de finalización" @@ -900,7 +904,7 @@ msgstr "Emitido por" msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Prioridad de esta orden de construcción" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Código del proyecto" @@ -962,9 +966,9 @@ msgstr "La salida de la construcción no coincide con el orden de construcción" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" @@ -999,7 +1003,7 @@ msgstr "Ensamblar equipo" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "La cantidad debe ser 1 para el stock serializado" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" @@ -1057,8 +1061,8 @@ msgstr "Artículo de stock sobreasignado" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Artículo de stock" @@ -1082,7 +1086,7 @@ msgstr "Artículo de stock de destino" msgid "Build Level" msgstr "Nivel de construcción" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Nombre de parte" @@ -1139,7 +1143,7 @@ msgstr "Autoasignar Números de Serie" msgid "Automatically allocate required items with matching serial numbers" msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" @@ -1272,7 +1276,7 @@ msgstr "Crear partida" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part debe apuntar a la misma parte que la orden de construcción" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "El artículo debe estar en stock" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Parte del proveedor" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Permitir variantes" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "Item de Lista de Materiales" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "En producción" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Stock externo" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Stock Disponible" @@ -1527,31 +1531,31 @@ msgstr "Orden de construcción atrasada" msgid "Build order {bo} is now overdue" msgstr "El pedido de construcción {bo} está atrasado" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "¿Es enlace?" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "¿Es archivo?" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "El usuario no tiene permiso para eliminar estos adjuntos" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "El usuario no tiene permiso para eliminar este adjunto" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "Lista de selección bloqueada" @@ -1571,8 +1575,8 @@ msgstr "No se han proporcionado códigos de divisa válidos" msgid "No plugin" msgstr "Sin plugin" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "Cadena de clave debe ser única" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Usuario" @@ -1654,8 +1658,8 @@ msgstr "Usuario" msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Precio" @@ -1677,8 +1681,8 @@ msgstr "Nombre para este webhook" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Activo" @@ -1686,7 +1690,7 @@ msgstr "Activo" msgid "Is this webhook active" msgstr "Está activo este webhook" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Token" @@ -1756,7 +1760,7 @@ msgstr "Título" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "Opciones válidas para este parámetro (separados por comas)" msgid "Selection list for this parameter" msgstr "Lista de selección para este parámetro" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Habilitado" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Plantilla" @@ -2262,7 +2266,7 @@ msgstr "Fecha y hora del escaneo de código de barras" msgid "URL endpoint which processed the barcode" msgstr "Dispositivo URL que procesó el código de barras" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Contexto" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Clave" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} cancelado" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Artículos Recibidos" @@ -2524,7 +2528,7 @@ msgstr "Nombre de Archivo" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "Las partes son plantillas por defecto" msgid "Parts can be assembled from other components by default" msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Componente" @@ -2931,7 +2935,7 @@ msgstr "Comprable" msgid "Parts are purchaseable by default" msgstr "Las partes son comprables por defecto" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Vendible" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "Registrar errores ocurridos al generar reportes" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Tamaño de página" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Un dominio vacío no está permitido." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nombre de dominio inválido: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Fabricante" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Empresa" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Correo electrónico de contacto" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Contacto" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Dirección" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "Enlace a información de dirección (externa)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Parte del fabricante" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Seleccionar fabricante" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte base" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Proveedor" @@ -4448,7 +4452,7 @@ msgstr "Proveedor" msgid "Select supplier" msgstr "Seleccionar proveedor" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Unidad de mantenimiento de stock de proveedores" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Paquetes" @@ -4533,7 +4537,7 @@ msgstr "Moneda predeterminada utilizada para este proveedor" msgid "Company Name" msgstr "Nombre de la empresa" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "En Stock" @@ -4722,7 +4726,7 @@ msgstr "Datos de la fila original" msgid "Errors" msgstr "Errores" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Válido" @@ -4838,7 +4842,7 @@ msgstr "Número de copias a imprimir para cada etiqueta" msgid "Connected" msgstr "Conectado" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Desconocido" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Grupo" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Referencia del pedido" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "Destacado" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "Tiene Código de Proyecto" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Creado por" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "Creado antes de" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "Creado después de" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "Fecha objetivo antes de" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "Fecha objetivo después de" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "Tiene Precio" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "Completado antes de" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "Completado después de" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Orden" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "Orden completada" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Componente interno" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "Orden pendiente" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Completados" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "Tiene envío" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Orden de compra" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Orden de compra" msgid "Sales Order" msgstr "Orden de Venta" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Orden de devolución" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "Descripción del pedido (opcional)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Seleccione el código del proyecto para este pedido" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Enlace a Url externa" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Fecha objetivo" @@ -5184,487 +5188,487 @@ msgstr "Punto de contacto para este pedido" msgid "Company address for this order" msgstr "Dirección de la empresa para este pedido" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Referencia del pedido" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Estado" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Estado de la orden de compra" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Empresa de la cual se están encargando los artículos" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Referencia del proveedor" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Código de referencia de pedido del proveedor" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "recibido por" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "La fecha de pedido fue completada" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Destinación" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "Destino para los artículos recibidos" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "El proveedor de la parte debe coincidir con el proveedor de PO" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "La partida no coincide con la orden de compra" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "La cantidad debe ser un número positivo" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Cliente" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Empresa a la que se venden los artículos" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "Estado de la orden de venta" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Referencia del cliente " -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Código de referencia de pedido del cliente" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Fecha de envío" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "enviado por" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "La orden ya fue completada" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "La orden ya fue cancelada" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Sólo una orden abierta puede ser marcada como completa" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "El pedido no se puede completar porque hay envíos incompletos" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "El pedido no se puede completar ya que hay asignaciones incompletas" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "El pedido no se puede completar porque hay partidas incompletas" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Cantidad del artículo" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Referencia de partida" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Notas de partida" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Fecha objetivo para esta partida (dejar en blanco para usar la fecha de destino de la orden)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Descripción de partida (opcional)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "Contexto adicional para esta línea" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Precio unitario" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "La parte del proveedor debe coincidir con el proveedor" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Parte del proveedor" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Recibido" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Número de artículos recibidos" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Precio de Compra" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Precio de compra unitario" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "Sólo las partes vendibles pueden ser asignadas a un pedido de venta" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Precio de Venta" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Precio de venta unitario" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Enviado" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Cantidad enviada" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Fecha del envío" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Fecha de entrega" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Fecha de entrega del envío" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Revisado por" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Usuario que revisó este envío" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Envío" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Número de envío" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Número de Seguimiento" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Información de seguimiento del envío" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Número de factura" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Número de referencia para la factura asociada" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "El envío ya ha sido enviado" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "El envío no tiene artículos de stock asignados" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "El artículo de stock no ha sido asignado" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "No se puede asignar el artículo de stock a una línea con una parte diferente" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "No se puede asignar stock a una línea sin una parte" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La cantidad de asignación no puede exceder la cantidad de stock" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "La cantidad debe ser 1 para el stock serializado" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "La orden de venta no coincide con el envío" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "El envío no coincide con el pedido de venta" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Línea" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Referencia del envío del pedido de venta" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Ítem" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Seleccionar artículo de stock para asignar" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Especificar la cantidad de asignación de stock" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "Referencia de la orden de devolución" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Empresa de la cual se están devolviendo los artículos" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "Estado de la orden de devolución" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "El artículo de almacén debe ser especificado" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "La cantidad de retorno excede la cantidad de existencias" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "La cantidad de retorno debe ser mayor que cero" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "Cantidad inválida para el artículo de stock serializado" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Seleccionar el artículo a devolver del cliente" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Fecha de recepción" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Resultado" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Salida para esta partida" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Costo asociado con la devolución o reparación para esta partida" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "Copiar líneas adicionales" msgid "Copy extra line items from the original order" msgstr "Copiar partidas extra del pedido original" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Copiar Parámetros" @@ -5784,11 +5788,11 @@ msgstr "Combinar artículos" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "SKU" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Número de parte interna" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Introduzca el código de lote para los artículos de almacén entrantes" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Fecha de Expiración" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "Favoritos" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Profundidad" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "Filtrar por profundidad de categoría" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "Nivel superior" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "Filtrar por categorías de nivel superior" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "En cascada" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "Tiene resultados" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "Palabras clave por defecto para partes en esta categoría" msgid "Icon" msgstr "Icono" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Icono (opcional)" @@ -6349,7 +6361,7 @@ msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqued msgid "Part category" msgstr "Categoría de parte" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6358,7 +6370,7 @@ msgstr "IPN" msgid "Part revision or version number" msgstr "Revisión de parte o número de versión" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Revisión" @@ -6382,7 +6394,7 @@ msgstr "Expiración por defecto" msgid "Expiry time (in days) for stock items of this part" msgstr "Tiempo de expiración (en días) para los artículos de stock de esta parte" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Stock mínimo" @@ -6390,7 +6402,7 @@ msgstr "Stock mínimo" msgid "Minimum allowed stock level" msgstr "Nivel mínimo de stock permitido" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "Sub parte" msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "Categoría principal de parte" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Subcategorías" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Moneda de compra de ítem de stock" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Parte original" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Seleccione la parte original a duplicar" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Copiar Imagen" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Copiar imagen desde la parte original" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Copiar BOM" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "Copiar la factura de materiales de la parte original" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "Copiar datos del parámetro de la parte original" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Cantidad Inicial de Stock" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Seleccione proveedor (o déjelo en blanco para saltar)" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleccionar fabricante (o dejar en blanco para saltar)" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Número de parte del fabricante" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "La empresa seleccionada no es un proveedor válido" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "La empresa seleccionada no es un fabricante válido" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Nombre de categoría" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "En construcción" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Elementos de stock" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Inventario Total" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Stock Inicial" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "Crear Parte con cantidad inicial de stock" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Información del proveedor" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "Añadir información inicial del proveedor para esta parte" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Imagen Existente" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "El archivo de imagen no existe" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Validación de Lista de Materiales" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Puede construir" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Precio mínimo" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Anular el valor calculado para precio mínimo" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Precio mínimo de moneda" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Precio máximo" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Precio máximo de moneda" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "El precio mínimo no debe ser mayor que el precio máximo" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "El precio máximo no debe ser inferior al precio mínimo" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluye artículos BOM que son heredados de partes con plantillas" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Copiar partes sustitutas" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "No se especificó ninguna acción" msgid "No matching action found" msgstr "No se encontró ninguna acción coincidente" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "No se encontró ninguna coincidencia para los datos del código de barras" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Coincidencia encontrada para datos de códigos de barras" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "El código de barras coincide con artículo existente" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "No se ha encontrado ningún complemento para datos de código de barras" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "Ningún complemento coincide con el código de barras del proveedor" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "Ningún pedido de venta proporcionado" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "Legal" msgid "Letter" msgstr "Carta" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Nombre de la plantilla" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "Adjuntar al modelo al imprimir" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Guardar la salida del informe como un archivo adjunto contra la instancia del modelo enlazado al imprimir" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Patrón de Nombre de archivo" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Filtros" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "Tamaño de página para reportes PDF" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Ancho [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Ancho de la etiqueta, especificado en mm" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Altura [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Altura de la etiqueta, especificada en mm" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Fragmento" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Archivo fragmento de informe" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Descripción de archivo de fragmento" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Activo" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Reportar archivo de activos" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Descripción del archivo de activos" @@ -8766,200 +8778,200 @@ msgstr "Sin resultados" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "Ubicación principal" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "Filtrar por ubicación principal" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "Nombre de pieza (insensible a mayúsculas y minúsculas)" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "El nombre de la pieza contiene (insensible a mayúsculas y minúsculas)" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "Nombre de la pieza (expresión regular)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "IPN de Pieza (insensible a mayúsculas y minúsculas)" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "IPN de pieza contiene (insensible a mayúsculas y minúsculas)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "IPN de Pieza (expresión regular)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "Existencias mínimas" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "Existencias máximas" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Código de estado" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Ubicación externa" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "Consumido por orden de construcción" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "Instalado en otro artículo de existencias" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "Árbol de piezas" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "Actualizado antes de" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "Actualizado después de" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "Inventario antes de" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "Inventario después de" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "Desactualizado" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "Cantidad requerida" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "Debe suministrarse una parte válida" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "Seleccionar Propietario" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Externo" @@ -9101,7 +9113,7 @@ msgstr "Seleccione una parte del proveedor correspondiente para este artículo d msgid "Where is this stock item located?" msgstr "¿Dónde se encuentra este artículo de stock?" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "Empaquetar este artículo de stock se almacena en" @@ -9117,7 +9129,7 @@ msgstr "¿Está este artículo instalado en otro artículo?" msgid "Serial number for this item" msgstr "Número de serie para este artículo" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Código de lote para este artículo de stock" @@ -9234,7 +9246,7 @@ msgstr "El artículo de stock está en producción" msgid "Serialized stock cannot be merged" msgstr "Stock serializado no puede ser combinado" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Artículos de Stock Duplicados" @@ -9398,7 +9410,7 @@ msgstr "Introduzca números de serie para nuevos artículos" msgid "Supplier Part Number" msgstr "Número de pieza del proveedor" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Expirado" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "La cantidad no debe exceder la cantidad disponible de stock ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Ubicación de stock de destino" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Sub-ubicación" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "La parte debe ser vendible" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "El artículo está asignado a una orden de venta" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "El artículo está asignado a una orden de creación" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "Cliente para asignar artículos de stock" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "La empresa seleccionada no es un cliente" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Notas de asignación de stock" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "Debe proporcionarse una lista de artículos de stock" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Notas de fusión de stock" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Permitir proveedores no coincidentes" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "Permitir fusionar artículos de stock con diferentes partes de proveedor" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Permitir estado no coincidente" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "Permitir fusionar artículos de stock con diferentes códigos de estado" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "Debe proporcionar al menos dos artículos de stock" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "Sin cambios" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Valor de clave primaria de Stock" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "No hay existencias del artículo" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Notas de transacción de stock" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "Permisos" msgid "Important dates" msgstr "Fechas importantes" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "Token revocado" @@ -9927,163 +9939,163 @@ msgstr "Token revocado" msgid "Token has expired" msgstr "Token expirado" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "Token del API" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "Tokens del API" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Nombre del token" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Nombre personalizado del token" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Fecha de expiración del token" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Última conexión" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "Última vez que se usó el token" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Revocado" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Permiso establecido" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Vista" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Permiso para ver artículos" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Añadir" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Permiso para añadir artículos" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Cambiar" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Permisos para editar artículos" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Eliminar" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Permiso para eliminar artículos" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po index e3b9fa7eaa..6dc901ad1b 100644 --- a/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Estonian\n" "Language: et_EE\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Teil ei ole selle lehe vaatamiseks luba" @@ -65,11 +65,11 @@ msgstr "E-posti aadressi kinnitus" msgid "You must type the same email each time." msgstr "" -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "" @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "" @@ -105,22 +105,22 @@ msgstr "Pane kuupäev" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Märkmed" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "" @@ -164,51 +164,51 @@ msgstr "" msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Ühenduse viga" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Esines tõrge" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "" @@ -220,117 +220,121 @@ msgstr "" msgid "Email" msgstr "E-post" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Vigane valik" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Nimi" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Kirjeldus" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Kirjeldus (valikuline)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Tee" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Serveri viga" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "" msgid "Currency" msgstr "Valuuta" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "" @@ -521,11 +525,11 @@ msgstr "Hiina (lihtsustatud)" msgid "Chinese (Traditional)" msgstr "Hiina (traditsiooniline)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "" @@ -546,23 +550,23 @@ msgstr "" msgid "Parent Build" msgstr "" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "Osa" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "" @@ -593,7 +597,7 @@ msgstr "" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "" @@ -601,11 +605,11 @@ msgstr "" msgid "Assigned To" msgstr "Määratud" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Valikuline" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Jälgitud" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Saadaval" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Asukoht" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "" @@ -883,8 +887,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "" @@ -900,7 +904,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "" @@ -962,9 +966,9 @@ msgstr "" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "" @@ -999,7 +1003,7 @@ msgstr "" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "" @@ -1057,8 +1061,8 @@ msgstr "" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "" @@ -1082,7 +1086,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Osa nimi" @@ -1139,7 +1143,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1272,7 +1276,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Saadaval laos" @@ -1527,31 +1531,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "On link" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "On fail" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "Pluginat pole" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "" @@ -1654,8 +1658,8 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "" @@ -1677,8 +1681,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1686,7 +1690,7 @@ msgstr "" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "" @@ -1756,7 +1760,7 @@ msgstr "Pealkiri" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Mall" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Kontekst" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Võti" @@ -2430,7 +2434,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2524,7 +2528,7 @@ msgstr "Failinimi" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "Mudeli liik" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Komponent" @@ -2931,7 +2935,7 @@ msgstr "Ostetav" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Lehe suurus" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Tootja" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Ettevõte" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Kontakt e-postiaadress" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Aadress" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Tarnija" @@ -4448,7 +4452,7 @@ msgstr "Tarnija" msgid "Select supplier" msgstr "Vali tarnija" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4533,7 +4537,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Grupp" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Staatus" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Müügihind" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Saadetud" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Saadetis" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Rida" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "Kopeeri lisareaüksused algsest tellimusest" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Kopeeri parameetrid" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "Tootekood" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Sügavus" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "Ikoon" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Ikoon (valikuline)" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "Osa kategooria" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "" @@ -6382,7 +6394,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Minimaalne laoseis" @@ -6390,7 +6402,7 @@ msgstr "Minimaalne laoseis" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Originaalosa" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Kopeeri pilt" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Kategooria nimi" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "Ehitamine" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Tarnija info" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Minimaalne hind" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Maksimaalne hind" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Uuenda" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "Piirjoon" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "Lisa mudelile printimisel" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Salvesta aruande väljund manusega seotud mudeli eksemplari juurde printimisel" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Filtrid" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "Mallifaili" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8766,200 +8778,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "Tarnija osa number" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "Õigused" msgid "Important dates" msgstr "Olulised kuupäevad" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "API tunnus" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "API tunnused" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Lunnuse nimi" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Kohandatud tunnuse nimi" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Tunnuse aegumise kuupäev" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Viimati nähtud" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Tühistatud" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Vaade" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Muuda" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Kustuta" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po index 88ddde11a0..de988bd3c3 100644 --- a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "Address e API peida nashod" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "موارد باید به صورت لیست ارائه شود" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "لیست موارد نامعتبر ارائه شده است" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "تمامی فیلترها باید منحصراً با مقدار true مورد استفاده قرار گیرند" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "هیچ موردی با معیارهای ارائه شده مطابقت ندارد" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "کاربر سطح دسترسی نمایش این مدل را ندارد" @@ -65,11 +65,11 @@ msgstr "تایید آدرس ایمیل" msgid "You must type the same email each time." msgstr "هر بار باید همان ایمیل را تایپ کنید." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "آدرس ایمیل اصلی ارائه شده معتبر نیست." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "دامنه ایمیل ارائه شده تایید نشده است." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "نمی‌توان {original} را به {unit} تبدیل کرد" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "مقدار ارائه شده نامعتبر است" @@ -105,22 +105,22 @@ msgstr "تاریخ را وارد کنید" msgid "Invalid decimal value" msgstr "مقدار اعشاری نامعتبر است" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "یادداشت" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "مقدار '{name}' در قالب الگو ظاهر قرار نمی گیرد" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "مقدار ارائه شده با الگوی مورد نیاز مطابقت ندارد: " @@ -164,51 +164,51 @@ msgstr "برچسب های HTML را از این مقدار حذف کنید" msgid "Data contains prohibited markdown content" msgstr "داده ها حاوی محتوای علامت گذاری ممنوع است" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "خطا در اتصال" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "سرور با کد وضعیت نامعتبر پاسخ داد" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "یک استثنا رخ داده است" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "سرور با مقدار طول محتوا نامعتبر پاسخ داد" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "اندازه عکس بسیار بزرگ است" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "حجم دانلود تصویر از حداکثر اندازه بیشتر شده است" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "سرور ریموت پاسخ خالی را برگرداند" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "URL ارائه شده یک فایل تصویری معتبر نیست" @@ -220,117 +220,121 @@ msgstr "وارد برنامه شوید" msgid "Email" msgstr "ایمیل" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "قبل از انجام هر کار دیگری باید احراز هویت دو مرحله ای را فعال کنید." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "خطا در اجرای تأیید اعتبار افزونه" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "فراداده باید یک شیء دیکت پایتون باشد" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "فراداده افزونه" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "فیلد فراداده JSON، برای استفاده توسط افزونه های خارجی" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "الگوی فرمت نامناسب" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "کلید قالب ناشناخته مشخص شده است" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "کلید قالب مورد نیاز وجود ندارد" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "فیلد مرجع نمی تواند خالی باشد" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "مرجع باید با الگوی مورد نیاز مطابقت داشته باشد" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "شماره مرجع خیلی بزرگ است" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "انتخاب نامعتبر" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "نام" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "توضیحات" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "توضیحات (اختیاری)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "مسیر" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "نام‌های تکراری نمی‌توانند تحت یک والد وجود داشته باشند" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "یادداشت های علامت گذاری (اختیاری)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "داده های بارکد" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "داده های بارکد شخص ثالث" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "هش بارکد" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "هش منحصر به فرد داده های بارکد" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "بارکد موجود پیدا شد" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "خطای سرور" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "یک خطا توسط سرور ثبت شده است." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "باید یک عدد معتبر باشد" msgid "Currency" msgstr "ارز" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "ارز را از گزینه های موجود انتخاب کنید" @@ -521,11 +525,11 @@ msgstr "چینی (ساده شده)" msgid "Chinese (Traditional)" msgstr "چینی (سنتی)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "واحد فیزیکی نامعتبر" msgid "Not a valid currency code" msgstr "کد ارز معتبر" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "وضعیت سفارش" @@ -546,23 +550,23 @@ msgstr "وضعیت سفارش" msgid "Parent Build" msgstr "" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "قطعه" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "دسته" @@ -593,7 +597,7 @@ msgstr "دسته" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "واگذار شده به من" @@ -601,11 +605,11 @@ msgstr "واگذار شده به من" msgid "Assigned To" msgstr "واگذار شده به" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "ایجاد شده قبل از" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "ایجاد شده بعد از" @@ -641,99 +645,99 @@ msgstr "تکمیل شده قبل از" msgid "Completed after" msgstr "تکمیل شده بعد از" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "مصرفی" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "اختیاری" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "مونتاژ" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "سفارش معوق" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "اختصاص داده شده" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "در دسترس" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "سفارش ساخت" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "مکان" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "مرجع سفارش فروش" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "منبع محل" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "مقصد" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "" @@ -883,8 +887,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "تاریخ تکمیل" @@ -900,7 +904,7 @@ msgstr "صادر شده توسط" msgid "User who issued this build order" msgstr "کاربری که این سفارش ساخت را صادر کرده است" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "" @@ -962,9 +966,9 @@ msgstr "" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "" @@ -999,7 +1003,7 @@ msgstr "" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "" @@ -1057,8 +1061,8 @@ msgstr "" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "" @@ -1082,7 +1086,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "" @@ -1139,7 +1143,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1272,7 +1276,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "" @@ -1527,31 +1531,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "" @@ -1654,8 +1658,8 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "" @@ -1677,8 +1681,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1686,7 +1690,7 @@ msgstr "" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "" @@ -1756,7 +1760,7 @@ msgstr "" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "" @@ -2430,7 +2434,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2524,7 +2528,7 @@ msgstr "" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "" @@ -2931,7 +2935,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4448,7 +4452,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4533,7 +4537,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "" @@ -6382,7 +6394,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "" @@ -6390,7 +6402,7 @@ msgstr "" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "هیچ عملیات کاربر-محوری، مشخص نشده است" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8766,200 +8778,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index 59e89c0768..0d94561899 100644 --- a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API-rajapintaa ei löydy" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Käyttäjän oikeudet eivät riitä kohteen tarkastelemiseen" @@ -65,11 +65,11 @@ msgstr "Sähköpostiosoitteen vahvistus" msgid "You must type the same email each time." msgstr "Sinun täytyy kirjoittaa sama sähköposti joka kerta." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Annettu ensisijainen sähköpostiosoite ei kelpaa." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Annetun sähköpostiosoitteen verkkotunnusta ei hyväksytä." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Annettu määrä on virheellinen" @@ -105,22 +105,22 @@ msgstr "Anna päivämäärä" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Merkinnät" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "" @@ -164,51 +164,51 @@ msgstr "" msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Yhteysvirhe" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Palvelin vastasi virheellisellä tilakoodilla" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Kuva on liian iso" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Kuvan lataus ylitti enimmäiskoon" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Etäpalvelin palautti tyhjän vastauksen" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "Annettu URL ei ole kelvollinen kuvatiedosto" @@ -220,117 +220,121 @@ msgstr "" msgid "Email" msgstr "Sähköposti" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metatietojen tulee olla python dict objekti" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Liitännäisen metadata" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "JSON metadatakenttä, ulkoisten liitännäisten käyttöön" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Virheellisesti muotoiltu malli" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Viitekenttä ei voi olla tyhjä" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Viitenumero on liian suuri" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Virheellinen valinta" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Nimi" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Kuvaus" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Kuvaus (valinnainen)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Polku" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Viivakoodin Tiedot" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Palvelinvirhe" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Täytyy olla kelvollinen luku" msgid "Currency" msgstr "Valuutta" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Valitse valuutta käytettävissä olevista vaihtoehdoista" @@ -521,11 +525,11 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "" @@ -546,23 +550,23 @@ msgstr "" msgid "Parent Build" msgstr "" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "Osa" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Kategoria" @@ -593,7 +597,7 @@ msgstr "Kategoria" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "" @@ -601,11 +605,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Saatavilla" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Sijainti" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "" @@ -883,8 +887,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "" @@ -900,7 +904,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "" @@ -962,9 +966,9 @@ msgstr "" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "" @@ -999,7 +1003,7 @@ msgstr "" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "" @@ -1057,8 +1061,8 @@ msgstr "" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Varastotuote" @@ -1082,7 +1086,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "" @@ -1139,7 +1143,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1272,7 +1276,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "" @@ -1527,31 +1531,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Käyttäjä" @@ -1654,8 +1658,8 @@ msgstr "Käyttäjä" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Hinta" @@ -1677,8 +1681,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktiivinen" @@ -1686,7 +1690,7 @@ msgstr "Aktiivinen" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "" @@ -1756,7 +1760,7 @@ msgstr "Otsikko" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Käytössä" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Avain" @@ -2430,7 +2434,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2524,7 +2528,7 @@ msgstr "Tiedostonimi" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Komponentti" @@ -2931,7 +2935,7 @@ msgstr "Ostettavissa" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Sivun koko" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Verkkotunnus ei saa olla tyhjä." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Virheellinen verkkotunnus: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Valmistaja" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Yritys" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Kontakti" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Osoite" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Valitse valmistaja" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Toimittaja" @@ -4448,7 +4452,7 @@ msgstr "Toimittaja" msgid "Select supplier" msgstr "Valitse toimittaja" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Toimittajan varastonimike" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4533,7 +4537,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Ryhmä" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Valmis" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Tilauksen viite" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Tila" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Asiakas" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Asiakkaan viite " -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Vastaanotettu" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Lähetetty" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Seurantakoodi" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Laskunumero" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "Kuvake" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Kuvake (valinnainen)" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "" @@ -6382,7 +6394,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "" @@ -6390,7 +6402,7 @@ msgstr "" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Valmistajan osanumero" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Suodattimet" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Leveys [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Korkeus [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8766,200 +8778,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "Oikeudet" msgid "Important dates" msgstr "" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Näytä" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Oikeus tarkastella kohteita" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Oikeus lisätä kohteita" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Muuta" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Oikeus muokata kohteita" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Poista" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Oikeus poistaa kohteita" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index 8814549478..5c3af1ebb8 100644 --- a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "Point de terminaison de l'API introuvable" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Les éléments doivent être fournis sous forme de liste" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Liste d'éléments non valide fournie" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "Tous les filtres ne doivent être utilisés qu'avec \"true\"" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "Aucun élément ne correspond aux critères fournis" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "Aucune donnée disponible" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "Ce champ doit être unique" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "L'utilisateur n'a pas la permission de voir ce modèle" @@ -65,11 +65,11 @@ msgstr "Confirmation de l'adresse email" msgid "You must type the same email each time." msgstr "Vous devez taper le même e-mail à chaque fois." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "L'adresse e-mail principale fournie n'est pas valide." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Le domaine e-mail fourni n'est pas approuvé." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Impossible de convertir {original} en {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" @@ -105,22 +105,22 @@ msgstr "Entrer la date" msgid "Invalid decimal value" msgstr "Valeur décimale invalide" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Notes" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "La valeur '{name}' n'apparaît pas dans le format du modèle" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "La valeur fournie ne correspond pas au modèle requis : " @@ -164,51 +164,51 @@ msgstr "Retirer les balises HTML de cette valeur" msgid "Data contains prohibited markdown content" msgstr "Les données contiennent du contenu markdown interdit" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Erreur de connexion" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Le serveur a répondu avec un code de statut invalide" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Une erreur est survenue" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Le serveur a répondu avec une valeur de longueur de contenu invalide" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Image trop volumineuse" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "La taille de l'image dépasse la taille maximale autorisée" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Le serveur distant a renvoyé une réponse vide" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "L'URL fournie n'est pas un fichier image valide" @@ -220,117 +220,121 @@ msgstr "Se connecter à l'application" msgid "Email" msgstr "E-mail" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Vous devez activer l'authentification à deux facteurs avant toute autre chose." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Erreur lors de l'exécution de la validation du plugin" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Les metadata doivent être un objet python de type \"dict\"" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Métadonnées de l'Extension" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "Champs metadata JSON, pour plugins tiers" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Modèle mal formaté" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Clé de format inconnu spécifiée" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Clé de format requise manquante" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Le champ de référence ne peut pas être vide" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "La référence doit correspondre au modèle requis" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Le numéro de référence est trop grand" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Description" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Description (facultative)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Chemin d'accès" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Les noms dupliqués ne peuvent pas exister sous le même parent" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Notes Markdown (option)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Données du code-barres" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Données de code-barres tierces" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Hash du code-barre" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Hachage unique des données du code-barres" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Code-barres existant trouvé" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Erreur serveur" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Doit être un nombre valide" msgid "Currency" msgstr "Devise" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Sélectionnez la devise à partir des options disponibles" @@ -521,11 +525,11 @@ msgstr "Chinois (Simplifié)" msgid "Chinese (Traditional)" msgstr "Chinois (Traditionnel)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "Mise à jour disponible" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "Une mise à jour pour InvenTree est disponible" @@ -537,7 +541,7 @@ msgstr "Unité invalide" msgid "Not a valid currency code" msgstr "Code de devise invalide" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Statut de la commande" @@ -546,23 +550,23 @@ msgstr "Statut de la commande" msgid "Parent Build" msgstr "Fabrication parente" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "Inclure les variantes" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "Inclure les variantes" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "Inclure les variantes" msgid "Part" msgstr "Pièce" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Catégorie" @@ -593,7 +597,7 @@ msgstr "Catégorie" msgid "Ancestor Build" msgstr "Version Précédente" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Attribué à moi" @@ -601,11 +605,11 @@ msgstr "Attribué à moi" msgid "Assigned To" msgstr "Attribué à" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Créé avant" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Créé après" @@ -641,99 +645,99 @@ msgstr "Terminé avant" msgid "Completed after" msgstr "Terminé après" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "Date min" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "Date maximale" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "Exclure l'arbre" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Consommable" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Facultatif" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Assemblage" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Suivi" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Testable" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Commande en cours" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Allouée" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "Consommé" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Disponible" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "En Commande" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Ordre de Fabrication" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Emplacement" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "Sortie" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "Filtrer par l'identifiant (ID) des articles du stock de sortie. Utilisez 'null' pour trouver les éléments de fabrication non installés." @@ -773,9 +777,9 @@ msgstr "La date cible doit être postérieure à la date de début" msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Bon de commande de référence" msgid "Sales Order to which this build is allocated" msgstr "Commande de vente à laquelle cette fabrication est allouée" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Emplacement d'origine" @@ -821,7 +825,7 @@ msgstr "Fabrication externe" msgid "This build order is fulfilled externally" msgstr "Cet ordre de fabrication est exécuté en externe" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Emplacement cible" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Code de statut de construction" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Code de lot" @@ -883,8 +887,8 @@ msgstr "Date d'achèvement cible" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Date cible pour l'achèvement de la construction. La construction sera en retard après cette date." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Date d'achèvement" @@ -900,7 +904,7 @@ msgstr "Émis par" msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Priorité de cet ordre de fabrication" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Code du projet" @@ -962,9 +966,9 @@ msgstr "L'ordre de production de correspond pas à l'ordre de commande" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" @@ -999,7 +1003,7 @@ msgstr "Création de l'objet" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "La quantité doit être de 1 pour stock sérialisé" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" @@ -1057,8 +1061,8 @@ msgstr "L'article de stock est suralloué" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Article en stock" @@ -1082,7 +1086,7 @@ msgstr "Stock de destination de l'article" msgid "Build Level" msgstr "Niveau de construction" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Nom de l'article" @@ -1139,7 +1143,7 @@ msgstr "Allouer automatiquement les numéros de série" msgid "Automatically allocate required items with matching serial numbers" msgstr "Affecter automatiquement les éléments requis avec les numéros de série correspondants" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "Les numéros de série suivants existent déjà, ou sont invalides" @@ -1272,7 +1276,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:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "L'article doit être en stock" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "Construire" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Pièce fournisseur" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Autoriser les variantes" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "Article du BOM" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "En Production" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "Planifié pour fabrication" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Stock externe" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Stock disponible" @@ -1527,31 +1531,31 @@ msgstr "Ordre de commande en retard" msgid "Build order {bo} is now overdue" msgstr "L'ordre de commande {bo} est maintenant en retard" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "C'est un lien" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "C'est un fichier" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "L'utilisateur n'a pas les permissions de supprimer cette pièce jointe" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "La liste de sélection est verrouillée" @@ -1571,8 +1575,8 @@ msgstr "Aucun code de devise valide fourni" msgid "No plugin" msgstr "Pas de plugin" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "La chaîne de caractères constituant la clé doit être unique" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Utilisateur" @@ -1654,8 +1658,8 @@ msgstr "Utilisateur" msgid "Price break quantity" msgstr "Quantité de rupture de prix" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Prix" @@ -1677,8 +1681,8 @@ msgstr "Nom de ce webhook" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Actif" @@ -1686,7 +1690,7 @@ msgstr "Actif" msgid "Is this webhook active" msgstr "Ce webhook (lien de rappel HTTP) est-il actif" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Jeton" @@ -1756,7 +1760,7 @@ msgstr "Titre" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "Choix valables pour ce paramètre (séparés par des virgules)" msgid "Selection list for this parameter" msgstr "Liste de sélection pour ce paramètre" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Activé" @@ -2204,8 +2208,8 @@ msgstr "Identifiant du Modèle (ID)" msgid "ID of the target model for this parameter" msgstr "ID du modèle cible pour ce paramètre" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Modèle" @@ -2262,7 +2266,7 @@ msgstr "Date et heure du scan de code-barres" msgid "URL endpoint which processed the barcode" msgstr "Point d'accès à l'URL qui a traité le code-barres" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Contexte" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "Fils d'Emails" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Clé" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} annulé" msgid "A order that is assigned to you was canceled" msgstr "Une commande qui vous est assignée a été annulée" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Articles reçus" @@ -2524,7 +2528,7 @@ msgstr "Nom du fichier" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "Type de modèle" @@ -2914,8 +2918,8 @@ msgstr "Les pièces sont des templates par défaut" msgid "Parts can be assembled from other components by default" msgstr "Les pièces peuvent être assemblées à partir d'autres composants par défaut" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Composant" @@ -2931,7 +2935,7 @@ msgstr "Achetable" msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Vendable" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "Enregistrer les erreurs qui se produisent lors de la génération de rapports" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Taille de la page" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "Tous les modèles" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "Aucun type de modèle d'attachement n'est fourni" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "Type de modèle de pièce jointe non valide" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "Les places minimales ne peuvent être supérieures aux places maximales" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "Le nombre maximum de places ne peut être inférieur au nombre minimum de places" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Un domaine vide n'est pas autorisé." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nom de domaine invalide : {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "La valeur doit être en majuscules" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "La valeur doit être un identifiant de variable valide" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "Le fournisseur est actif" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Fabricant" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Société" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Adresse e-mail de contact" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Contact" @@ -4297,7 +4301,7 @@ msgstr "N° de TVA" msgid "Company Tax ID" msgstr "Numéro d'identification fiscale de l'entreprise" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Adresse" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "Lien vers les informations de l'adresse (externe)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Pièces du fabricant" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Sélectionner un fabricant" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "Référence fabricant" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "La pièce du fabricant liée doit faire référence à la même pièce de base" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Fournisseur" @@ -4448,7 +4452,7 @@ msgstr "Fournisseur" msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Conditionnement" @@ -4533,7 +4537,7 @@ msgstr "Devise par défaut utilisée pour ce fournisseur" msgid "Company Name" msgstr "Nom de l'entreprise" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "En Stock" @@ -4722,7 +4726,7 @@ msgstr "Données de la ligne d'origine" msgid "Errors" msgstr "Erreurs" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Valide" @@ -4838,7 +4842,7 @@ msgstr "Nombre de copies à imprimer pour chaque étiquette" msgid "Connected" msgstr "Connecté" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Inconnu" @@ -4942,7 +4946,7 @@ msgstr "Clé de la propriété" msgid "Value of the property" msgstr "Valeur de la propriété" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Groupe" @@ -4966,118 +4970,118 @@ msgstr "Progression maximale" msgid "Maximum value for progress type, required if type=progress" msgstr "Valeur maximale pour le type de progression, requis si type=progress" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Référence de commande" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "Remarquable" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "A le code du projet" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Créé par" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "Créé avant" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "Créé après" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "A la date de début" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "Date de début Avant" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "Date de début Après" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "A une date cible" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "Date cible Avant" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "Date cible Après" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "Possède un Tarif" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "Terminé avant" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "Terminé après" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "Ordre de fabrication externe" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Commande" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "Commande Complétée" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Pièces Internes" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "Commande En Attente" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Terminé" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "Fait l'objet d'une expédition" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Commande d’achat" msgid "Sales Order" msgstr "Commandes" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Retour de commande" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "L'adresse ne correspond pas à la société sélectionnée" msgid "Order description (optional)" msgstr "Description de la commande (facultatif)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Sélectionner le code du projet pour cette commande" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Lien vers une page externe" @@ -5151,7 +5155,7 @@ msgstr "Date de début" msgid "Scheduled start date for this order" msgstr "Date de début prévue pour cette commande" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Date Cible" @@ -5184,487 +5188,487 @@ msgstr "Point de contact pour cette commande" msgid "Company address for this order" msgstr "Adresse de l'entreprise pour cette commande" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Référence de la commande" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "État" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Statut de la commande d'achat" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Société de laquelle les articles sont commandés" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Référence du fournisseur" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Code de référence de la commande fournisseur" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "reçu par" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Destination" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "Destination des articles reçus" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "Le fournisseur de la pièce doit correspondre au fournisseur de la commande" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "Le poste ne correspond pas au bon de commande" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "Il manque une pièce liée à l'article de la ligne" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "La quantité doit être un nombre positif" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Client" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Société à laquelle les articles sont vendus" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "Statut de la commande client" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Référence client " -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Code de référence de la commande du client" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "expédié par" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "La commande est déjà terminée" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "La commande est déjà annulée" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Seule une commande ouverte peut être marquée comme complète" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "La commande ne peut pas être terminée car il y a des envois incomplets" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "L'ordre ne peut pas être achevé car les allocations sont incomplètes" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "L'ordre ne peut pas être complété car il y a des postes incomplets" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "La commande est verrouillée et ne peut être modifiée" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Référence du poste" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Notes sur les postes" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Date cible pour ce poste (laisser vide pour utiliser la date cible de la commande)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Description du poste (facultatif)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "Contexte supplémentaire pour cette ligne" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Prix unitaire" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "Poste du bon de commande" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "La pièce du fournisseur doit correspondre à celle du fournisseur" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "L'ordre de fabrication doit être marqué externe" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "Les ordres de fabrication ne peuvent être liées qu'à des pièces d'assemblage" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "Les pièces d'ordre de fabrication doivent correspondre la pièce d'objet" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Reçu" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Prix d'achat unitaire" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "Ordre de fabrication externe à remplir par cet élément de ligne" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "Ligne supplémentaire du bon de commande" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "Poste de commande client" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "Seules les pièces vendues peuvent être attribuées à une commande" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Prix de vente unitaire" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Expédié" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Quantité expédiée" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "Envoi de la commande client" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "L'adresse d'expédition doit correspondre au client" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "Adresse de livraison pour cet envoi" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Date d'expédition" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Date de Livraison" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Date de livraison de l'envoi" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Vérifié par" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Envoi" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Numéro d'expédition" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "N° de suivi" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Information de suivi des colis" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "N° de facture" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Numéro de référence de la facture associée" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "Le colis a déjà été envoyé" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "L'expédition n'a pas d'articles en stock alloués" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "L'expédition doit être vérifiée avant de pouvoir être terminée" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "Ligne supplémentaire de commande client" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "Affectation des commandes clients" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "L'article de stock n'a pas été assigné" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "Impossible d'allouer l'article en stock à une ligne avec une autre pièce" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "Impossible d'allouer le stock à une ligne sans pièce" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantité doit être égale à 1 pour un article de stock sérialisé" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "La commande client ne correspond pas à l'expédition" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "L'envoi ne correspond pas à la commande client" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Ligne" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Référence de l'expédition de la commande client" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Article" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Sélectionner l'article de stock à affecter" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Saisir la quantité d'allocation de stock" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "Retour Référence de la commande" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Entreprise à l'origine du retour des articles" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "Statut du retour de commande" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "Poste de l'ordre de retour" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "L'article en stock doit être spécifié" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "La quantité retournée dépasse la quantité en stock" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "La quantité retournée doit être supérieure à zéro" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "Quantité non valide pour un article de stock sérialisé" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Sélectionner l'article à retourner par le client" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Date de réception" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "La date de réception de cet article en retour" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Résultats" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Résultat pour ce poste" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Coût associé au retour ou à la réparation de ce poste" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "Ordre de retour Ligne supplémentaire" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "Copier les lignes supplémentaires" msgid "Copy extra line items from the original order" msgstr "Copier les postes supplémentaires de l'ordre original" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Copier les paramètres" @@ -5784,11 +5788,11 @@ msgstr "Fusionner des éléments" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Fusionner en un seul poste les éléments ayant la même partie, la même destination et la même date cible" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "Unité de gestion des stocks" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Numéro de pièce interne" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Saisir le code de lot pour les articles de stock entrant" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Date d'expiration" @@ -6056,123 +6060,131 @@ msgstr "Ordre de retour en retard" msgid "Return order {ro} is now overdue" msgstr "L'ordre de retour {ro} est maintenant en retard" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "Étoilé" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "Filtrer par catégories étoilées" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Profondeur" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "Filtrer par profondeur de catégorie" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "Premier niveau" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "Filtrer par catégories de premier niveau" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "Cascade" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "Inclure les sous-catégories dans les résultats filtrés" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "Parent" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "Filtrer par catégorie de parents" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "Exclure les sous-catégories de la catégorie spécifiée" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "A des résultats" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "Est variante" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "Est la révision" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "A des révisions" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "Nomenclature valide" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "Catégories en cascade" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "Si vrai, inclure des éléments dans les sous-catégories de la catégorie donnée" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Filtrer par ID de catégorie numérique ou par 'null'" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "La pièce d'assemblage est active" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "La pièce d'assemblage est traçable" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "La pièce d'assemblage est testable" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "Le composant est testable" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "Utilise" @@ -6213,7 +6225,7 @@ msgstr "Mots-clés par défaut pour les pièces de cette catégorie" msgid "Icon" msgstr "Icône" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Icône (facultatif)" @@ -6349,7 +6361,7 @@ msgstr "Les mots-clés partiels pour améliorer la visibilité dans les résulta msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6358,7 +6370,7 @@ msgstr "IPN" msgid "Part revision or version number" msgstr "Numéro de révision ou de version de la pièce" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Révision" @@ -6382,7 +6394,7 @@ msgstr "Expiration par défaut" msgid "Expiry time (in days) for stock items of this part" msgstr "Délai d'expiration (en jours) pour les articles en stock de cette pièce" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Stock Minimum" @@ -6390,7 +6402,7 @@ msgstr "Stock Minimum" msgid "Minimum allowed stock level" msgstr "Niveau de stock minimum autorisé" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "Sous-partie" msgid "Select part to be used in BOM" msgstr "Sélectionner la pièce à utiliser dans la nomenclature" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "Catégorie de parents" msgid "Parent part category" msgstr "Catégorie de pièce mère" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Sous-catégories" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "Résultats" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "Nombre de résultats enregistrés par rapport à ce modèle" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "Le fichier n'est pas une image" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Partie originale" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Sélectionner la partie originale à dupliquer" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Copier l'image à partir de la partie originale" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Copier la nomenclature" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "Copie de la nomenclature de la pièce originale" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "Copie des données de paramètres de la pièce d'origine" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Notes sur la copie" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "Copier les notes de la partie originale" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "Test Copie" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Quantité de stock initial" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Indiquer la quantité de stock initiale pour cette pièce. Si la quantité est égale à zéro, aucun stock n'est ajouté." -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Emplacement initial du stock" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Spécifier l'emplacement du stock initial pour cette pièce" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Sélectionner le fournisseur (ou laisser en blanc pour passer)" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Sélectionner le fabricant (ou laisser en blanc pour ignorer)" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Numéro de pièce du fabricant" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "L'entreprise sélectionnée n'est pas un fournisseur valide" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "L'entreprise sélectionnée n'est pas un fabricant valide" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "La pièce du fabricant correspondant à ce MPN existe déjà" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "La pièce du fournisseur correspondant à cette UGS existe déjà" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Nom catégorie" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "Construction" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "Quantité de cette pièce actuellement en production" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Quantité exceptionnelle de cette pièce sont planifié à la fabrication" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Éléments en stock" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "Révisions" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Stock total" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "Stock non attribué" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "Variante Stock" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Dupliquer une pièce" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "Copier les données initiales d'une autre partie" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Stock initial" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "Créer une pièce avec une quantité de stock initiale" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Informations sur le fournisseur" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "Ajouter les informations initiales du fournisseur pour cette pièce" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Copier les paramètres de la catégorie" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "Copier les modèles de paramètres de la catégorie de pièces sélectionnée" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Image existante" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "Nom de fichier d'une image de pièce existante" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "Le fichier image n'existe pas" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Valider l'ensemble de la nomenclature" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Peut construire" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "Nécessaire pour fabrication" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "Alloué à la fabrication" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "Nécessaire pour les commandes" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "Alloué aux commandes" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Prix Minimum" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Remplacer la valeur calculée pour le prix minimum" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Prix minimum monnaie" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Prix Maximum" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "Remplacer la valeur calculée pour le prix maximum" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Devise du prix maximum" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Mise à jour" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "Mise à jour des prix pour cette pièce" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Impossible de convertir les devises fournies en {default_currency}" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "Le prix minimum ne doit pas être supérieur au prix maximum" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "Le prix maximum ne doit pas être inférieur au prix minimum" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "Sélectionner l'assemblage parent" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "Sélectionner le composant" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "Sélectionner la pièce à partir de laquelle copier la nomenclature" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Supprimer les données existantes" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "Supprimer les postes de nomenclature existants avant de les copier" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Inclure l'héritage" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "Inclure les éléments de nomenclature hérités des pièces modélisées" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Sauter les lignes non valides" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Activez cette option pour ignorer les lignes non valides" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Copier les pièces de remplacement" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copie de pièces de rechange en cas de duplication de postes de nomenclature" @@ -7326,91 +7338,91 @@ msgstr "Aucune action spécifiée" msgid "No matching action found" msgstr "Aucune action correspondante trouvée" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "Aucune correspondance trouvée pour les données du code-barres" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Correspondance trouvée pour les données du code-barres" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "Le modèle n'est pas pris en charge" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "L'instance de modèle n'a pas été trouvée" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "Le code-barres correspond à l'article existant" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "Aucune donnée correspondante n'a été trouvée" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "Aucune pièce de fournisseur correspondante n'a été trouvée" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "Plusieurs pièces de fournisseurs correspondantes trouvées" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "Aucun plugin correspondant n'a été trouvé pour les données de code-barres" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "Pièce du fournisseur assortie" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "L'article a déjà été reçu" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "Pas de correspondance de plugin pour le code-barres du fournisseur" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "Plusieurs postes correspondants trouvés" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "Aucun poste correspondant n'a été trouvé" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "Aucun ordre de vente n'a été fourni" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "Le code-barres ne correspond pas à un article de stock existant" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "Le poste de stock ne correspond pas au poste individuel" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "Stock disponible insuffisant" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "Article de stock attribué à la commande client" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "Pas assez d'informations" @@ -7992,7 +8004,7 @@ msgstr "Frontière" msgid "Print a border around each label" msgstr "Imprimer une bordure autour de chaque étiquette" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "Paysage" @@ -8481,136 +8493,136 @@ msgstr "Juridique" msgid "Letter" msgstr "Lettre" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "Le fichier modèle portant ce nom existe déjà" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Nom du modèle" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "Description du modèle" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "Numéro de révision (auto-incrémentation)" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "Joindre au modèle sur l'impression" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Enregistrer le rapport en tant que pièce jointe à l'instance de modèle liée lors de l'impression" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Modèle de nom de fichier" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "Modèle de génération de noms de fichiers" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "Le modèle est activé" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "Type de modèle cible pour le modèle" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Filtres" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "Filtres de requête de modèle (liste de paires clé/valeur séparées par des virgules)" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "Fichier modèle" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "Taille des pages pour les rapports PDF" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "Rendre le rapport en orientation paysage" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "Fusionner" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "Rapport généré à partir du modèle {self.name}" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "Erreur dans la génération du rapport" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Largeur [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Largeur de l'étiquette, spécifiée en mm" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Hauteur [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Hauteur de l'étiquette, spécifiée en mm" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "Erreur d'impression des étiquettes" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Extrait " -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Fichier d'extrait de rapport" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Description du fichier d'extrait" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Elément" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Rapport sur le fichier d'actifs" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Description du fichier d'actifs" @@ -8766,200 +8778,200 @@ msgstr "Pas de résultat" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "Fichier image non trouvé" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "la balise part_image nécessite une instance de Part" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "la balise company_image nécessite une instance d'entreprise" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "Filtrer par profondeur de localisation" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "Filtrer par lieux de premier niveau" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "Inclure les sous-emplacements dans les résultats filtrés" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "Emplacement parent" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "Filtrer par emplacement parent" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "Nom de la pièce (insensible à la casse)" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "Le nom de la pièce contient (insensible à la casse)" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "Nom de la pièce (regex)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "Partie IPN (insensible à la casse)" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "La partie IPN contient (insensible à la casse)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "Partie IPN (regex)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "Stock minimum" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "Stock maximum" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Code de statut" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Emplacement externe" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "Consommé par l'ordre de construction" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "Installé dans un autre article en stock" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "Arbre en pièces détachées" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "Mise à jour avant" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "Mise à jour après" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "Inventaire avant" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "Inventaire après" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "Date d'expiration avant" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "Date d’expiration après" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "Périmé" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "La quantité est requise" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "La partie valide doit être fournie" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "Le fournisseur donné n'existe pas" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "La pièce du fournisseur a une taille d'emballage définie, mais le drapeau use_pack_size n'est pas activé" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Les numéros de série ne peuvent pas être fournis pour une pièce non traçable" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "Sélectionner un propriétaire" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Les articles en stock ne peuvent pas être directement placés dans un emplacement de stock structurel, mais peuvent être placés dans des emplacements subordonnés." -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Externe" @@ -9101,7 +9113,7 @@ msgstr "Sélectionnez une pièce fournisseur correspondante pour cet article en msgid "Where is this stock item located?" msgstr "Où se trouve cet article en stock ?" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "L'emballage de cet article en stock est stocké dans" @@ -9117,7 +9129,7 @@ msgstr "L'article a été installé dans un autre article ?" msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Code de lot pour cet article de stock" @@ -9234,7 +9246,7 @@ msgstr "L'article de stock est actuellement en production" msgid "Serialized stock cannot be merged" msgstr "Le stock sérialisé ne peut pas être fusionné" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Articles de stock en double" @@ -9398,7 +9410,7 @@ msgstr "Entrez les numéros de série pour les nouveaux articles" msgid "Supplier Part Number" msgstr "Référence du fournisseur" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Expiré" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "La quantité ne doit pas dépasser la quantité disponible en stock ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Emplacement du stock de destination" @@ -9501,127 +9513,127 @@ msgstr "Sélectionner les articles en stock pour modifier leur statut" msgid "No stock items selected" msgstr "Aucun article en stock n'a été sélectionné" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Sous-localisations" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "Emplacement du stock mère" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "La pièce doit être vendable" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "L'article est affecté à une commande client" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "L'article est attribué à un ordre de fabrication" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "Affectation d'articles en stock par le client" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "L'entreprise sélectionnée n'est pas un client" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Notes d'affectation des stocks" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "Une liste des articles en stock doit être fournie" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Notes sur les fusions d'actions" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Autoriser les fournisseurs non concordants" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "Permettre la fusion d'articles en stock avec des pièces de fournisseurs différents" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Autoriser la non-concordance des statuts" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "Permettre la fusion d'articles en stock ayant des codes de statut différents" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "Au moins deux articles en stock doivent être fournis" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "Pas de changement" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Valeur de la clé primaire StockItem" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "L'article n'est plus en stock" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Notes sur les transactions boursières" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "Numéro de série suivant" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "Numéro de série précédent" @@ -9919,7 +9931,7 @@ msgstr "Droits" msgid "Important dates" msgstr "Dates importantes" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "Le jeton a été révoqué" @@ -9927,163 +9939,163 @@ msgstr "Le jeton a été révoqué" msgid "Token has expired" msgstr "Le jeton a expiré" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "Jeton API" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "Jetons API" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Nom du jeton" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Nom du jeton personnalisé" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Date d'expiration du jeton" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Dernière visite" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "Dernière utilisation du jeton" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Révoquée" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Droit défini" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Vue" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Droit de voir des éléments" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Ajouter" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Droit d'ajouter des éléments" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Modifier" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Droit de modifier des élément" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Supprimer" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "Bot" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "Interne" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "Invité" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "Langue" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "Langue préférée de l'utilisateur" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "Thème" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "Paramètres pour l'interface web sous forme de JSON - ne pas modifier manuellement !" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "Raccourcis" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "Paramètres des widgets du tableau de bord sous forme de JSON - ne pas modifier manuellement !" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "Nom d'affichage" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "Nom d'affichage choisi pour l'utilisateur" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "Localisation" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "Intitulé de l'emploi principal ou du poste" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "Message sur le statut de l'utilisateur" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "Informations sur la localisation de l'utilisateur" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "L'utilisateur utilise activement le système" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "Coordonnées préférées de l'utilisateur" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "Type d'utilisateur" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "De quel type d'utilisateur s'agit-il ?" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "Organisation" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "Organisation/affiliation principale de l'utilisateur" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "Groupe primaire" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "Groupe principal de l'utilisateur" diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index 0147e1c8a0..29b573ac5d 100644 --- a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "למשתמש אין הרשאה לצפות במוזל הזה" @@ -65,11 +65,11 @@ msgstr "אישור כתובת אימייל" msgid "You must type the same email each time." msgstr "חובה לרשום את אותו אימייל בכל פעם." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "" @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "" @@ -105,22 +105,22 @@ msgstr "הזן תאריך סיום" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "" @@ -164,51 +164,51 @@ msgstr "" msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "" @@ -220,117 +220,121 @@ msgstr "" msgid "Email" msgstr "אימייל" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "שגיאה בהפעלת אימות הפלאגין" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metadata must be a python dict object" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "מטא נתונים של תוסף" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "שדה מטא נתונים של JSON, לשימוש על ידי תוספים חיצוניים" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "דפוס מעוצב בצורה לא נכונה" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "צוין מפתח פורמט לא ידוע" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "חסר מפתח פורמט נדרש" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "שדה הפניה לא יכול להיות ריק" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "הפניה חייבת להתאים לדפוס הנדרש" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "מספר האסמכתה גדול מדי" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "שם" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "תיאור" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "תיאור (לא חובה)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "נתיב" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "שמות כפולים אינם יכולים להתקיים תחת אותו אב" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "הערות סימון (אופציונלי)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "נתוני ברקוד" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "נתוני ברקוד של צד שלישי" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "ברקוד Hash" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Hash ייחודי של נתוני ברקוד" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "נמצא ברקוד קיים" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "שגיאת שרת" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "נרשמה שגיאה על ידי השרת." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "המספר חייב להיות תקין" msgid "Currency" msgstr "מטבע" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "בחר מטבע מהאפשרויות הזמינות" @@ -521,11 +525,11 @@ msgstr "סינית (פשוטה)" msgid "Chinese (Traditional)" msgstr "סינית (מסורתית)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "" msgid "Not a valid currency code" msgstr "קוד מטבע לא מאושר" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "" @@ -546,23 +550,23 @@ msgstr "" msgid "Parent Build" msgstr "מקור הבנייה" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "רכיב" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "" @@ -593,7 +597,7 @@ msgstr "" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "" @@ -601,11 +605,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "" @@ -883,8 +887,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "" @@ -900,7 +904,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "" @@ -962,9 +966,9 @@ msgstr "" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "" @@ -999,7 +1003,7 @@ msgstr "" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "" @@ -1057,8 +1061,8 @@ msgstr "" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "" @@ -1082,7 +1086,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "" @@ -1139,7 +1143,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1272,7 +1276,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "" @@ -1527,31 +1531,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "משתמש" @@ -1654,8 +1658,8 @@ msgstr "משתמש" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "" @@ -1677,8 +1681,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1686,7 +1690,7 @@ msgstr "" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "" @@ -1756,7 +1760,7 @@ msgstr "" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "" @@ -2430,7 +2434,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2524,7 +2528,7 @@ msgstr "שם קובץ" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "" @@ -2931,7 +2935,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4448,7 +4452,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4533,7 +4537,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "נשלח" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "" @@ -6382,7 +6394,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "" @@ -6390,7 +6402,7 @@ msgstr "" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "לא פורטה הפעולה" msgid "No matching action found" msgstr "פעולה מבוקשת לא נמצאה" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8766,200 +8778,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index 483dd78e87..88617dec56 100644 --- a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "" @@ -65,11 +65,11 @@ msgstr "" msgid "You must type the same email each time." msgstr "" -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "" @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "" @@ -105,22 +105,22 @@ msgstr "तारीख दर्ज करें" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "" @@ -164,51 +164,51 @@ msgstr "" msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "कनेक्शन त्रुटि" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "" @@ -220,117 +220,121 @@ msgstr "" msgid "Email" msgstr "ई-मेल" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "" msgid "Currency" msgstr "" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "" @@ -521,11 +525,11 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "" @@ -546,23 +550,23 @@ msgstr "" msgid "Parent Build" msgstr "" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "" @@ -593,7 +597,7 @@ msgstr "" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "" @@ -601,11 +605,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "" @@ -883,8 +887,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "" @@ -900,7 +904,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "" @@ -962,9 +966,9 @@ msgstr "" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "" @@ -999,7 +1003,7 @@ msgstr "" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "" @@ -1057,8 +1061,8 @@ msgstr "" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "" @@ -1082,7 +1086,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "" @@ -1139,7 +1143,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1272,7 +1276,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "" @@ -1527,31 +1531,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "" @@ -1654,8 +1658,8 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "" @@ -1677,8 +1681,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1686,7 +1690,7 @@ msgstr "" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "" @@ -1756,7 +1760,7 @@ msgstr "" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "" @@ -2430,7 +2434,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2524,7 +2528,7 @@ msgstr "" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "" @@ -2931,7 +2935,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4448,7 +4452,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4533,7 +4537,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "" @@ -6382,7 +6394,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "" @@ -6390,7 +6402,7 @@ msgstr "" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8766,200 +8778,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index 2ebff56325..1d97eed35c 100644 --- a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API funkciót nem találom" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "A tételeket listában kell átadni" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Érvénytelen a tétel lista" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "Minden szűrő csak true értékkel használható" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "Nincs a szűrésnek megfelelő tétel" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "Nincs adat megadva" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "Ennek a mezőnek egyedinek kell lennie." -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Nincs jogosultságod az adatok megtekintéséhez" @@ -65,11 +65,11 @@ msgstr "Email cím megerősítés" msgid "You must type the same email each time." msgstr "Mindig ugyanazt az email címet kell beírni." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "A megadott elsődleges email cím nem valós." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "A megadott email domain nincs jóváhagyva." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "{original} átváltása {unit}-ra sikertelen" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" @@ -105,22 +105,22 @@ msgstr "Dátum megadása" msgid "Invalid decimal value" msgstr "Érvénytelen decimális érték" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Megjegyzések" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "A(z) '{name}' érték nem a szükséges minta szerinti" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "A megadott érték nem felel meg a szükséges mintának: " @@ -164,51 +164,51 @@ msgstr "HTML tag-ek eltávolítása ebből az értékből" msgid "Data contains prohibited markdown content" msgstr "Az adatban tiltott markdown tartalom található" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Csatlakozási hiba" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "A kiszolgáló érvénytelen státuszkóddal válaszolt" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Kivétel történt" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "A kiszolgáló érvénytelen Content-Length értéket adott" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "A kép mérete túl nagy" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "A kép letöltés meghaladja a maximális méretet" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "A kiszolgáló üres választ adott" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "A megadott URL nem egy érvényes kép fájl" @@ -220,117 +220,121 @@ msgstr "Bejelentkezés az appba" msgid "Email" msgstr "Email" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Mielőtt továbbmenne kötelező a kétfaktoros authentikációt engedélyeznie." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Hiba a plugin validálása közben" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "A meta adatnak egy python dict objektumnak kell lennie" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Plugin meta adatok" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "JSON meta adat mező, külső pluginok számára" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Helytelenül formázott minta" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Ismeretlen formátum kulcs lett megadva" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Hiányzó formátum kulcs" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Az azonosító mező nem lehet üres" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Az azonosítónak egyeznie kell a mintával" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Azonosító szám túl nagy" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Név" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Leírás" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Leírás (opcionális)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Elérési út" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Markdown megjegyzések (opcionális)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Vonalkód adat" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Harmadik féltől származó vonalkód adat" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Vonalkód hash" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Egyedi vonalkód hash" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Létező vonalkód" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Kiszolgálóhiba" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Érvényes számnak kell lennie" msgid "Currency" msgstr "Pénznem" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Válassz pénznemet a lehetőségek közül" @@ -521,11 +525,11 @@ msgstr "Kínai (egyszerűsített)" msgid "Chinese (Traditional)" msgstr "Kínai (Hagyományos)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "Frissítés elérhető" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "InvenTree frissítés elérhető" @@ -537,7 +541,7 @@ msgstr "Érvénytelen fizikai mértékegység" msgid "Not a valid currency code" msgstr "Érvénytelen pénznem kód" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Rendelés állapota" @@ -546,23 +550,23 @@ msgstr "Rendelés állapota" msgid "Parent Build" msgstr "Szülő gyártás" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "Változatokkal együtt" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "Változatokkal együtt" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "Változatokkal együtt" msgid "Part" msgstr "Alkatrész" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Kategória" @@ -593,7 +597,7 @@ msgstr "Kategória" msgid "Ancestor Build" msgstr "Szülő Gyártás" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Hozzám rendelt" @@ -601,11 +605,11 @@ msgstr "Hozzám rendelt" msgid "Assigned To" msgstr "Hozzárendelve" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Ez előtt létrehozva" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Létrehozva ez után" @@ -641,99 +645,99 @@ msgstr "Elkészült ez előtt" msgid "Completed after" msgstr "Elkészült ez után" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "Ettől a dátumtól" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "Eddig a dátumig" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "Fa kihagyása" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Opcionális" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Gyártmány" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Követett" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Ellenőrizhető" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Befejezetlen rendelés" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Lefoglalva" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "Felhasználva" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Elérhető" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "Rendelve" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "Gyártás nem található" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Gyártási utasítás" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Hely" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "Kimenet" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "Szűrés a kimeneti készlet tétel azonosítójára. Használj 'null'-t ha a be nem épített gyártási tételeket keresed." @@ -773,9 +777,9 @@ msgstr "Céldátumnak a kezdeti dátum után kell lennie" msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Vevői rendelés azonosító" msgid "Sales Order to which this build is allocated" msgstr "Vevői rendelés, amelyhez ez a gyártás tartozik" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Forrás hely" @@ -821,7 +825,7 @@ msgstr "Külső gyártás" msgid "This build order is fulfilled externally" msgstr "Ez a gyártási rendelés külsőleg teljesül" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Cél hely" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Gyártás státusz kód" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Batch kód" @@ -883,8 +887,8 @@ msgstr "Befejezés cél dátuma" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cél dátum a gyártás befejezéséhez. Ez után késettnek számít majd." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Befejezés dátuma" @@ -900,7 +904,7 @@ msgstr "Indította" msgid "User who issued this build order" msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Gyártási utasítás priorítása" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Projektszám" @@ -962,9 +966,9 @@ msgstr "Gyártási kimenet nem egyezik a gyártási utasítással" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" @@ -999,7 +1003,7 @@ msgstr "Gyártás objektum" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" @@ -1057,8 +1061,8 @@ msgstr "Készlet túlfoglalva" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Készlet tétel" @@ -1082,7 +1086,7 @@ msgstr "Cél készlet tétel" msgid "Build Level" msgstr "Gyártási Szint" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Alkatrész neve" @@ -1139,7 +1143,7 @@ msgstr "Sorozatszámok automatikus hozzárendelése" msgid "Automatically allocate required items with matching serial numbers" msgstr "Szükséges tételek automatikus hozzárendelése a megfelelő sorozatszámokkal" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" @@ -1273,7 +1277,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:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" @@ -1386,8 +1390,8 @@ msgstr "Beépítés helye" msgid "Build" msgstr "Gyártás" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Beszállítói alkatrész" @@ -1417,24 +1421,24 @@ msgid "Allow Variants" msgstr "Változatok" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "Gyártásban" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "Gyártás Ütemezve" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Külső raktárkészlet" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Elérhető készlet" @@ -1528,31 +1532,31 @@ msgstr "Késésben lévő gyártás" msgid "Build order {bo} is now overdue" msgstr "A {bo} gyártás most már késésben van" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "Ez egy hivatkozás" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "Ez egy állomány" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "A felhasználó nem jogosult ezen mellékletek törlésére" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "A felhasználó nem jogosult ezen melléklet törlésére" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "Választéklista lezárva" @@ -1572,8 +1576,8 @@ msgstr "Hiányzó érvényes valuta kód" msgid "No plugin" msgstr "Nincsen plugin" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1646,8 +1650,8 @@ msgstr "Kulcs string egyedi kell legyen" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Felhasználó" @@ -1655,8 +1659,8 @@ msgstr "Felhasználó" msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Ár" @@ -1678,8 +1682,8 @@ msgstr "Webhook neve" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktív" @@ -1687,7 +1691,7 @@ msgstr "Aktív" msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Token" @@ -1757,7 +1761,7 @@ msgstr "Cím" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2173,7 +2177,7 @@ msgstr "Választható lehetőségek (vesszővel elválasztva)" msgid "Selection list for this parameter" msgstr "A paraméter választéklistája" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Engedélyezve" @@ -2205,8 +2209,8 @@ msgstr "Modell ID" msgid "ID of the target model for this parameter" msgstr "A célmodell azonosítója ehhez a paraméterhez" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Sablon" @@ -2263,7 +2267,7 @@ msgstr "Vonalkód beolvasás dátuma és ideje" msgid "URL endpoint which processed the barcode" msgstr "Vonalkód feldolgozó URL végpont" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Kontextus" @@ -2385,7 +2389,7 @@ msgid "Email Threads" msgstr "Email szálak" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Kulcs" @@ -2431,7 +2435,7 @@ msgstr "{verbose_name} megszakítva" msgid "A order that is assigned to you was canceled" msgstr "Egy hozzád rendelt megrendelés megszakítva" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Készlet érkezett" @@ -2525,7 +2529,7 @@ msgstr "Fájlnév" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "Modell típusa" @@ -2915,8 +2919,8 @@ msgstr "Alkatrészek alapból sablon alkatrészek legyenek" msgid "Parts can be assembled from other components by default" msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Összetevő" @@ -2932,7 +2936,7 @@ msgstr "Beszerezhető" msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Értékesíthető" @@ -3145,7 +3149,7 @@ msgid "Log errors which occur when generating reports" msgstr "Jelentések generálása közben jelentkező hibák naplózása" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Lapméret" @@ -4129,49 +4133,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "Minden modell" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "A melléklethez nem tartozik model típus" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "Érvénytelen melléklet model típus" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "A legkisebb helyiérték nem lehet nagyobb mint a legnagyobb helyiérték" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "A legnagyobb helyiérték nem lehet kisebb mint a legkisebb helyiérték" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Üres domain nem engedélyezett." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Érvénytelen domain név: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "Csupa nagybetűs kell" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "Az érték egy változó neve legyen" @@ -4200,12 +4204,12 @@ msgid "Supplier is Active" msgstr "A Beszállító Aktív" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Gyártó" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Cég" @@ -4246,7 +4250,7 @@ msgid "Contact email address" msgstr "Kapcsolattartó email címe" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Névjegy" @@ -4298,7 +4302,7 @@ msgstr "Adószám" msgid "Company Tax ID" msgstr "Céges adószám" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Cím" @@ -4391,7 +4395,7 @@ msgid "Link to address information (external)" msgstr "Link a címinformációkhoz (külső)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" @@ -4409,7 +4413,7 @@ msgid "Select manufacturer" msgstr "Gyártó kiválasztása" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "MPN (Gyártói cikkszám)" @@ -4438,10 +4442,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészre kell hivatkoznia" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Beszállító" @@ -4449,7 +4453,7 @@ msgstr "Beszállító" msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" @@ -4486,7 +4490,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Csomagolás" @@ -4534,7 +4538,7 @@ msgstr "Beszállító által használt alapértelmezett pénznem" msgid "Company Name" msgstr "Cégnév" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "Készleten" @@ -4723,7 +4727,7 @@ msgstr "Eredeti sor adat" msgid "Errors" msgstr "Hibák" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Érvényes" @@ -4839,7 +4843,7 @@ msgstr "Címkénkénti nyomtatandó mennyiség" msgid "Connected" msgstr "Csatlakoztatba" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Ismeretlen" @@ -4943,7 +4947,7 @@ msgstr "A tulajdonság kulcsa" msgid "Value of the property" msgstr "A tulajdonság értéke" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Csoport" @@ -4967,118 +4971,118 @@ msgstr "Maximális Előrehaladás" msgid "Maximum value for progress type, required if type=progress" msgstr "Maximális érték az előrehaladás típushoz, kötelező ha típus=előrehaladás" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Rendelés azonosítója" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "Kintlévő" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "Van projektszáma" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Készítette" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "Ez előtt létrehozva" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "Létrehozva ez után" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "Van kezdeti dátum" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "Kezdeti dátum ez előtt" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "Kezdeti dátum ez után" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "Van céldátum" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "Céldátum ez előtt" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "Céldátum ez után" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "Van árazás" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "Ez előtt befejezve" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "Befejezve ez után" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "Külső Gyártási Rendelés" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Rendelés" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "A rendelés teljesítve" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Belső alkatrész" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "A rendelés függőben" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Kész" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "Van kiszállítás" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5086,14 +5090,14 @@ msgstr "Beszerzési rendelés" msgid "Sales Order" msgstr "Vevői rendelés" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Visszavétel" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5136,11 +5140,11 @@ msgstr "A cím nem egyezik a kiválasztott vállalattal" msgid "Order description (optional)" msgstr "Rendelés leírása (opcionális)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Válassz projektszámot ehhez a rendeléshez" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Link külső weboldalra" @@ -5152,7 +5156,7 @@ msgstr "Kezdés dátuma" msgid "Scheduled start date for this order" msgstr "A tervezett kezdeti dátum ehhez a gyártáshoz" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Cél dátum" @@ -5185,487 +5189,487 @@ msgstr "Kapcsolattartó ehhez a rendeléshez" msgid "Company address for this order" msgstr "Cég címei ehhez a rendeléshez" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Állapot" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Beszállítói azonosító" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Beszállítói rendelés azonosító kód" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "érkeztette" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Cél" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "Beérkezett tételek tárolója" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "Az alkatrész beszállítója meg kell egyezzen a beszerzési rendelés beszállítójával" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "Sortételen hiányzik a kapcsolódó alkatrész" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Vevő" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Cég akinek a tételek értékesítésre kerülnek" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "Értékesítési rendelés állapot" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "szállította" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "Rendelés már teljesítve" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "Rendelés már visszavonva" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Csak nyitott rendelés jelölhető késznek" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "A rendelés nem jelölhető késznek mivel függő szállítmányok vannak" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "A rendelést nem lehet befejezni mert hiányos foglalások vannak" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "A rendelés nem jelölhető késznek mivel nem teljesített sortételek vannak" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "A rendelés le van zárva és nem lehet módosítani" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Cél dátuma ennek a sortételnek (hagyd üresen a rendelés céldátum használatához)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Sortétel leírása (opcionális)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Egységár" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "Vevői Rendelés Sortétel" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "Gyártási rendelést külsőnek kell jelölni" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "Gyártási rendeléseket csak összeszerelhető alkatrészekhez lehet kapcsolni" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "Gyártási rendelés alkatrészének meg kell egyeznie a sortétel alkatrésszel" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Beérkezett" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "Külső gyártási rendelés amit ez a sortétel teljesít" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "Vevői Rendelés Extra Sor" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "Vevői Rendelés Sortétel" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "Csak értékesíthető alkatrészeket lehet vevői rendeléshez adni" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Kiszállítva" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "Vevői Rendelés Szállítása" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "A szállítási címnek egyeznie kell az ügyféllel" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "Szállítási cím ehhez a szállítmányhoz" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Szállítási dátum" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Kézbesítés dátuma" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "A szállítmányt ellenőrizni kell, mielőtt befejezhetné" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "Vevői Rendelés Extra Sor" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "Vevői rendeléshez foglalások" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "Nem foglalható készlet egy másik fajta alkatrész sortételéhez" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "Nem foglalható készlet egy olyan sorhoz amiben nincs alkatrész" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Sor" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Tétel" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "Visszavétel azonosító" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Cég akitől a tételek visszavételre kerülnek" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "Visszavétel állapota" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "Visszavétel sortétel" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "Készlettételt meg kell adni" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "Visszavétel mennyisége meghaladja a készletet" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "Visszavétel mennyisége nullánál nagyobb kell, hogy legyen" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "Érvénytelen mennyiség szerializált készlettételnél" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Válaszd ki a vevőtől visszavenni kívánt tételt" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Visszavétel dátuma" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Kimenetel" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Sortétel végső kimenetele" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Sortétel visszaküldésének vagy javításának költsége" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "Visszavétel extra tétel" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5693,7 +5697,7 @@ msgstr "Extra sorok másolása" msgid "Copy extra line items from the original order" msgstr "Az eredeti rendelés extra tételeinek másolása" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Paraméterek másolása" @@ -5785,11 +5789,11 @@ msgstr "Elemek összevonása" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Azonos forrás és cél dátumú Alkatrész tételeinek összevonása egy tételre" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "SKU (leltári azonosító)" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Belső cikkszám" @@ -5826,7 +5830,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Írd be a batch kódját a beérkezett tételeknek" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Lejárati dátum" @@ -6057,123 +6061,131 @@ msgstr "Lejárt visszvételi utasítás" msgid "Return order {ro} is now overdue" msgstr "A {ro} Visszavételi utasítás már lejárt" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "Csillagozott" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "Csillagozottra szűrés" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Mélység" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "Kategória mélységre szűrés" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "Felső szint" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "Csúcs készlethelyre szűrés" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "Lépcsőzetes" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "Szűrt eredmények tartalmazzák az alkategóriákat" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "Szülő" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "Szülő kategóriára szűrés" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "Az adott kategória alkategóriáinak kihagyása" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "Van találat" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "Változat-e" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "Változat" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "Vannak Változatok" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "Alkatrészjegyzék ellenőrizve" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "Kaszkád Kategóriák" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "Ha igaz, tartalmazza az adott kategória alkategóriáiban lévő tételeket" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Szűrés numerikus kategória azonosító vagy a 'null' literál szerint" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "Összeállított Alkatrész ellenőrizhető" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "Összetevő alkatrész ellenőrizhető" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "Használ" @@ -6214,7 +6226,7 @@ msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" msgid "Icon" msgstr "Ikon" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Ikon (opcionális)" @@ -6350,7 +6362,7 @@ msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredmén msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN (Belső Cikkszám)" @@ -6359,7 +6371,7 @@ msgstr "IPN (Belső Cikkszám)" msgid "Part revision or version number" msgstr "Alkatrész változat vagy verziószám (pl. szín, hossz, revízió, stb.)" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Változat" @@ -6383,7 +6395,7 @@ msgstr "Alapértelmezett lejárat" msgid "Expiry time (in days) for stock items of this part" msgstr "Lejárati idő (napban) ennek az alkatrésznek a készleteire" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Minimális készlet" @@ -6391,7 +6403,7 @@ msgstr "Minimális készlet" msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6760,7 +6772,7 @@ msgstr "Al alkatrész" msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6912,351 +6924,351 @@ msgstr "Szülő Kategória" msgid "Parent part category" msgstr "Felsőbb szintű alkatrész kategória" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Alkategóriák" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "Eredmények" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "Eszerint a sablon szerint rögzített eredmények száma" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "A fájl nem kép" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Megjegyzések másolása" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "Megjegyzések másolása az eredeti alkatrészről" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "Teszt másolása" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "Teszt sablonok másolása az eredeti alkatrészről" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:474 +#: 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:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:499 +#: 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:515 +#: 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:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:532 +#: 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:541 +#: 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:552 +#: 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:559 +#: 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:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Kategória neve" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "Gyártásban" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "Az alkatrészből jelenleg ennyi van gyártás alatt" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Már beütemezett de még nem kész gyártási mennyiség" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Készlet tételek" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "Verziók" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Teljes készlet" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "Nem lefoglalt készlet" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "Variánsok Raktárkészlet" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Alkatrész másolása" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:1025 +#: part/serializers.py:1036 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:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Meglévő kép" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "A meglévő alkatrész képfájl neve" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "A képfájl nem létezik" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Gyártható" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "Gyártásokhoz szükséges" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "Gyártási rendelésekhez foglalva" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "Értékesítési rendeléshez szükséges" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "Értékesítési rendeléshez lefoglalva" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Minimum ár" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Számított minimum ár felülbírálása" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Minimum ár pénzneme" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Maximum ár" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "Számított maximum ár felülbírálása" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Maximum ár pénzneme" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, 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:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "A Minimum ár nem lehet nagyobb mint a Maximum ár" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "A Maximum ár nem lehet kisebb mint a Minimum ár" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "Szülő összeállítás kiválasztása" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "Összetevő alkatrész kijelölése" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:2030 +#: part/serializers.py:2041 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:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:2036 +#: part/serializers.py:2047 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:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:2048 +#: part/serializers.py:2059 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" @@ -7327,91 +7339,91 @@ msgstr "Nincs megadva művelet" msgid "No matching action found" msgstr "Nincs egyező művelet" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "Nincs egyező vonalkód" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Egyezés vonalkódra" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "Model nem támogatott" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "Model példány hiányzik" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "Ez a vonalkód már egy másik tételé" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "Nem található megfelelő alkatrész adat" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "Nem található megfelelő beszállítói alkatrész" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "Több beszállítói alkatrész található" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "Nincsen vonalkód adathoz illeszkedő plugin" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "Beszállítói alkatrész található" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "Ez a termék már bevételezve" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "A szállítói vonalkódhoz nincsen plugin találat" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "Több egyező sortétel is található" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "Nincs egyező sortétel" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "Nincs értékesítési rendelés biztosítva" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "Vonalkód nem egyezik egy létező készlet tétellel sem" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "Készlet tétel nem egyezik a sortétellel" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "Nincs elegendő" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "Készlet tétel lefoglalva egy vevői rendeléshez" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "Nincs elég információ" @@ -7993,7 +8005,7 @@ msgstr "Szegély" msgid "Print a border around each label" msgstr "Az egyes címkék körüli margó" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "Fekvő" @@ -8482,136 +8494,136 @@ msgstr "Jogi információk" msgid "Letter" msgstr "„Letter” méret" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "Ilyen nevű Sablon fájl már létezik" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Sablon neve" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "Sablon leírása" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "Verziószám (automatikusan nő)" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "A nyomtatáson a modelhez kapcsolás" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Jelentés kimenetének mentése mellékletként a kapcsolt model példányhoz nyomtatáskor" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Fájlnév minta" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "Minta a fájlnevek előállításához" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "Sablon engedélyezve" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "A sablon által célzott model típus" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Szűrők" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "Sablon lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "Sablon file" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "Lapméret a PDF riportokhoz" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "Jelentés fekvő nézetben" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "Összevonás" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "Jelentés renderelése a kiválasztott tételekhez" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "Jelentés a {self.name} sablon alapján" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "Szintaxis hiba a sablonban" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "Hiba a jelentés renderelésekor" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "Hiba a jelentés generálása során" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "Hiba a jelentés kimenetének összefésülése során" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Szélesség [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Címke szélessége, mm-ben" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Magasság [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Címke magassága, mm-ben" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "Címkenyomtatási hiba" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Részlet" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Riport részlet fájl" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Részlet fájl leírása" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Eszköz" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Riport asset fájl" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Asset fájl leírása" @@ -8767,200 +8779,200 @@ msgstr "Nincs eredmény" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "A képfile nem található" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "part_image elem csak alkatrész példánynál használható" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "company_image elem csak cég példánynál használható" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "Hely mélységre szűrés" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "Csúcs készlethelyre szűrés" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "Szűrt eredmények tartalmazzák az alhelyeket" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "Szülő hely" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "Szülő helyre szűrés" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "Alkatrész neve (kisbetű/nagybetű nem számít)" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "Az alkatrész neve tartalmazza (kisbetű/nagybetű nem számít)" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "Alkatrész neve (regex)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "Alkatrész IPN (kisbetű/nagybetű nem számít)" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "Alkatrész IPN tartalmazza (kisbetű/nagybetű nem számít)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "Alkatrész IPN (regexp)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "Minimális készlet" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "Maximális készlet" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Státuszkód" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Külső hely" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "Felhasználva Gyártási Rendelésben" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "Más készlettételbe beépítve" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "Alkatrész fa" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "Módosítva ezelőtt" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "Frissítve ez után" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "Leltárazva ezelőtt" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "Leltárazva ezután" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "Lejárat előtt" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "Lejárat után" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "Állott" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "Adj meg egy készlettétel azonosítót - PK-t - hogy a tétel és leszármazottai kihagyásához" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "Készlethelyek alábontása" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "Az al-készlethelyeket is beleértve" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "Készlethely azonosító alapján szűrés vagy a 'null'-ra" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "A megadott beszállítói alkatrész nem létezik" -#: stock/api.py:1163 +#: stock/api.py:1177 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:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "Beépítettek Belefoglalása" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "Ha igaz, tartalmazza a megadott készlettétel alá beépített tételek teszteredményeit" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "Szűrés numerikus készlettétel azonosító szerint" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "A(z) {id} azonosítójú készlettétel nem létezik" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8996,7 +9008,7 @@ msgstr "Tulajdonos kiválasztása" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "A szerkezeti raktári helyekre nem lehet direktben raktározni, csak az al-helyekre." -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Külső" @@ -9102,7 +9114,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:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "A csomagolása ennek a készlet tételnek itt van tárolva" @@ -9118,7 +9130,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:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" @@ -9235,7 +9247,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:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" @@ -9399,7 +9411,7 @@ msgstr "Írd be a sorozatszámokat az új tételekhez" msgid "Supplier Part Number" msgstr "Beszállítói Cikkszám" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Lejárt" @@ -9429,8 +9441,8 @@ msgstr "Nincsen készlettétel megadva" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "A mennyiség nem lépheti túl a rendelkezésre álló készletet ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Cél készlet hely" @@ -9502,127 +9514,127 @@ 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:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Alhelyek" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "Felsőbb szintű készlet hely" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 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:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 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:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "Nincs változás" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "Készlettétel nincs készleten" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "Készlettétel már készleten van" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "Mennyiség nem lehet negatív" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "Meglévő készletbe olvasztás" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "Visszaérkezett tételek beolvasztása a készlettételekbe ha lehetséges" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "Következő sorozatszám" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "Előző Sorozatszám" @@ -9920,7 +9932,7 @@ msgstr "Jogosultságok" msgid "Important dates" msgstr "Fontos dátumok" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "A token visszavonva" @@ -9928,163 +9940,163 @@ msgstr "A token visszavonva" msgid "Token has expired" msgstr "A token lejárt" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "API Token" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "API Tokenek" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Token név" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Egyedi token név" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Token lejárati dátum" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Utolsó tevékenység" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "Token utolsó használata" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Visszavonva" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Jogosultságok" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Nézet" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Jogosultság tételek megtekintéséhez" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Hozzáad" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Jogosultság tételek hozzáadásához" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Módosítás" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Jogosultság tételek szerkesztéséhez" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Törlés" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "Robot" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "Belső" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "Vendég" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "Nyelv" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "Felhasználó által preferált nyelv" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "Téma" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "Web UI JSON beállításai - kézzel nem szabad szerkeszteni!" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "Widgetek" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "Dashboard widgetek JSON beállításai - kézzel szerkeszteni tilos!" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "Megjelenítendő név" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "Felhasználó választott megjelenítési neve" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "Pozíció" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "Fő munkakör vagy pozíció" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "Felhasználói állapot üzenet" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "Felhasználó földrajzi helye" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "A felhasználó éppen használja a rendszert" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "Javasolt elérhetőségek" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "Felhasználó típusa" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "Milyen típusú ez a felhasználó?" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "Szervezet" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "Felhasználó elsődleges szervezete/kötődése" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "Elsődleges csoport" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "Felhasználó elsődleges csoportja" diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index cd58619479..a6f25b3013 100644 --- a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API endpoint tidak ditemukan" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Barang harus disediakan sebagai daftar" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Pengguna tidak memiliki izin untuk melihat model ini" @@ -65,11 +65,11 @@ msgstr "Konfirmasi alamat email" msgid "You must type the same email each time." msgstr "Masukkan email yang sama." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Alamat surel utama yang diberikan tidak valid." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Domain surel yang diberikan tidak perbolehkan." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Jumlah yang diberikan tidak valid" @@ -105,22 +105,22 @@ msgstr "Masukkan tanggal" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Catatan" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Nilai yang diberikan tidak sesuai dengan pola yang ditentukan: " @@ -164,51 +164,51 @@ msgstr "Hapus tag-tag HTML dari nilai ini" msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Koneksi Galat" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Ukuran gambar terlalu besar" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "URL yang diberikan bukan file gambar yang valid" @@ -220,117 +220,121 @@ msgstr "" msgid "Email" msgstr "Surel" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Anda harus mengaktifkan autentikasi dua faktor sebelum melakukan hal lainnya." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Nama" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Keterangan" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Keterangan (opsional)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Direktori" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Data Barcode" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Data barcode pihak ketiga" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Hash unik data barcode" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Sudah ada barcode yang sama" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Terjadi Kesalahan Server" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Harus berupa angka yang valid" msgid "Currency" msgstr "Mata Uang" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "" @@ -521,11 +525,11 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "" msgid "Not a valid currency code" msgstr "Bukan kode mata uang yang valid" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "" @@ -546,23 +550,23 @@ msgstr "" msgid "Parent Build" msgstr "Produksi Induk" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "Bagian" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "" @@ -593,7 +597,7 @@ msgstr "" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "" @@ -601,11 +605,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Tersedia" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Order Produksi" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Lokasi" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Referensi Order Penjualan" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Lokasi Sumber" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Lokasi Tujuan" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Kode status pembuatan" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Kode Kelompok" @@ -883,8 +887,8 @@ msgstr "Target tanggal selesai" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Target tanggal selesai produksi. Produksi akan menjadi terlambat setelah tanggal ini." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Tanggal selesai" @@ -900,7 +904,7 @@ msgstr "Diserahkan oleh" msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "" @@ -962,9 +966,9 @@ msgstr "Hasil produksi tidak sesuai dengan order produksi" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" @@ -999,7 +1003,7 @@ msgstr "" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Jumlah harus 1 untuk stok dengan nomor seri" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" @@ -1057,8 +1061,8 @@ msgstr "Item stok teralokasikan terlalu banyak" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Stok Item" @@ -1082,7 +1086,7 @@ msgstr "Tujuan stok item" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "" @@ -1139,7 +1143,7 @@ msgstr "Alokasikan nomor seri secara otomatis" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid" @@ -1272,7 +1276,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:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "Item tagihan material" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "" @@ -1527,31 +1531,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Pengguna" @@ -1654,8 +1658,8 @@ msgstr "Pengguna" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Harga" @@ -1677,8 +1681,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktif" @@ -1686,7 +1690,7 @@ msgstr "Aktif" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "" @@ -1756,7 +1760,7 @@ msgstr "Judul" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Aktif" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "" @@ -2430,7 +2434,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Barang diterima" @@ -2524,7 +2528,7 @@ msgstr "Nama File" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Komponen" @@ -2931,7 +2935,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Ukuran Halaman" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Perusahaan" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Kontak alamat surel" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Kontak" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4448,7 +4452,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4533,7 +4537,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Tidak diketahui" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Selesai" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Status" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Pelanggan" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Harga Jual" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Dikirim" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "" @@ -6382,7 +6394,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "" @@ -6390,7 +6402,7 @@ msgstr "" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Harga Minimal" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Harga Maksimal" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Perbarui" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "Tidak ada tindakan yang ditentukan" msgid "No matching action found" msgstr "Aksi tidak ditemukan" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "Tidak cukup informasi" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "Legal" msgid "Letter" msgstr "Letter" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8766,200 +8778,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "Token telah kadaluarsa" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Nama Token" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Terakhir diliat" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Ganti" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index a1475ea899..c84f131971 100644 --- a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "Endpoint API non trovato" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Gli articoli devono essere forniti come elenco" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Lista elementi fornita non valida" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "Tutti i filtri devono essere usati solo con true" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "Nessun elemento corrisponde ai criteri forniti" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "Nessun dato fornito" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "Questo campo deve essere unico." -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "L'utente non ha i permessi per vedere questo modello" @@ -65,11 +65,11 @@ msgstr "Conferma indirizzo email" msgid "You must type the same email each time." msgstr "È necessario digitare la stessa e-mail ogni volta." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "L'indirizzo email principale fornito non è valido." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "L'indirizzo di posta elettronica fornito non è approvato." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Impossibile convertire {original} in {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" @@ -105,22 +105,22 @@ msgstr "Inserisci la data" msgid "Invalid decimal value" msgstr "Valore decimale non valido" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Note" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Il valore '{name}' non è nel formato del pattern" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Il valore fornito non corrisponde al modello richiesto: " @@ -164,51 +164,51 @@ msgstr "Rimuovi i tag HTML da questo valore" msgid "Data contains prohibited markdown content" msgstr "I dati contengono un contenuto in markdown proibito" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Errore di connessione" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Il server ha risposto con un codice di stato non valido" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Si è verificata un'eccezione" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Il server ha risposto con valore Content-Length non valido" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Immagine troppo grande" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Il download dell'immagine ha superato la dimensione massima" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Il server remoto ha restituito una risposta vuota" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "L'URL fornito non è un file immagine valido" @@ -220,117 +220,121 @@ msgstr "Accedi all'app" msgid "Email" msgstr "Email" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Devi abilitare l'autenticazione a due fattori prima di fare qualsiasi altra cosa." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Errore nell'eseguire la convalida del plugin" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "I metadati devono essere un oggetto python dict" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Metadati Plugin" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "Campo di metadati JSON, da utilizzare con plugin esterni" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Schema formattato impropriamente" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Formato chiave sconosciuta" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Formato chiave mancante" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Il campo di riferimento non può essere vuoto" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Il campo deve corrispondere al modello richiesto" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Numero di riferimento troppo grande" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Descrizione" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Descrizione (opzionale)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Percorso" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Note di Markdown (opzionale)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Dati del Codice a Barre" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Dati Codice a Barre applicazioni di terze parti" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Codice a Barre" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Codice univoco del codice a barre" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Trovato codice a barre esistente" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Errore del server" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Deve essere un numero valido" msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Selezionare la valuta dalle opzioni disponibili" @@ -521,11 +525,11 @@ msgstr "Cinese (Semplificato)" msgid "Chinese (Traditional)" msgstr "Cinese (Tradizionale)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "Aggiornamento disponibile" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "È disponibile un aggiornamento per InvenTree" @@ -537,7 +541,7 @@ msgstr "Unità fisica non valida" msgid "Not a valid currency code" msgstr "Non è un codice valuta valido" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Stato dell'ordine" @@ -546,23 +550,23 @@ msgstr "Stato dell'ordine" msgid "Parent Build" msgstr "Produzione Genitore" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "Includi Varianti" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "Includi Varianti" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "Includi Varianti" msgid "Part" msgstr "Articolo" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Categoria" @@ -593,7 +597,7 @@ msgstr "Categoria" msgid "Ancestor Build" msgstr "Produzione Antenata" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Assegnato a me" @@ -601,11 +605,11 @@ msgstr "Assegnato a me" msgid "Assigned To" msgstr "Assegnato a" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Creato prima" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Creato dopo" @@ -641,99 +645,99 @@ msgstr "Completato prima" msgid "Completed after" msgstr "Completato dopo" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "Data minima" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "Data massima" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "Escludi Albero" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Opzionale" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Assemblaggio" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Monitorato" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Testabile" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Ordine In Corso" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Allocato" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "Utilizzato" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Disponibile" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "Ordinato" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Ordine di Produzione" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Posizione" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "Output" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "Filtra per ID articolo stock di output. Usa 'null' per trovare elementi di produzione disinstallati." @@ -773,9 +777,9 @@ msgstr "La data di scadenza deve essere successiva alla data d'inizio" msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Numero di riferimento ordine di vendita" msgid "Sales Order to which this build is allocated" msgstr "Ordine di vendita a cui questa produzione viene assegnata" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Posizione Di Origine" @@ -821,7 +825,7 @@ msgstr "Build Esterno" msgid "This build order is fulfilled externally" msgstr "Questo ordine di produzione è eseguito esternamente" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Posizione Della Destinazione" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Codice stato di produzione" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Codice Lotto" @@ -883,8 +887,8 @@ msgstr "Data completamento obiettivo" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data di completamento della produzione. Dopo tale data la produzione sarà in ritardo." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Data di completamento" @@ -900,7 +904,7 @@ msgstr "Rilasciato da" msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Priorità di questo ordine di produzione" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Codice del progetto" @@ -962,9 +966,9 @@ msgstr "L'output della produzione non corrisponde all'ordine di compilazione" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" @@ -999,7 +1003,7 @@ msgstr "Crea oggetto" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "La quantità deve essere 1 per lo stock serializzato" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" @@ -1057,8 +1061,8 @@ msgstr "L'articolo in giacenza è sovrallocato" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Articoli in magazzino" @@ -1082,7 +1086,7 @@ msgstr "Destinazione articolo in giacenza" msgid "Build Level" msgstr "Livello Produzione" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Nome Articolo" @@ -1139,7 +1143,7 @@ msgstr "Numeri di Serie Assegnazione automatica" msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" @@ -1272,7 +1276,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:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "Costruzione" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Articolo Fornitore" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Consenti Le Varianti" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "Distinta base (Bom)" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "In Produzione" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "Pianificato per la produzione" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Scorte esterne" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Disponibilità in magazzino" @@ -1527,31 +1531,31 @@ msgstr "Ordine di produzione in ritardo" msgid "Build order {bo} is now overdue" msgstr "L'ordine di produzione {bo} è in ritardo" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "È Un Connegamento" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "E' un file" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "L'utente non ha il permesso di eliminare questi allegati" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "L'utente non ha il permesso di eliminare questo allegato" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "Lista di selezione bloccata" @@ -1571,8 +1575,8 @@ msgstr "Nessun codice valuta valido fornito" msgid "No plugin" msgstr "Nessun plugin" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "La stringa chiave deve essere univoca" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Utente" @@ -1654,8 +1658,8 @@ msgstr "Utente" msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Prezzo" @@ -1677,8 +1681,8 @@ msgstr "Nome per questa notifica" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Attivo" @@ -1686,7 +1690,7 @@ msgstr "Attivo" msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Token" @@ -1756,7 +1760,7 @@ msgstr "Titolo" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "Scelte valide per questo parametro (separato da virgola)" msgid "Selection list for this parameter" msgstr "Lista di selezione per questo parametro" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Abilitato" @@ -2204,8 +2208,8 @@ msgstr "ID Modello" msgid "ID of the target model for this parameter" msgstr "ID del modello di destinazione per questo parametro" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Modello" @@ -2262,7 +2266,7 @@ msgstr "Data e ora della scansione del codice a barre" msgid "URL endpoint which processed the barcode" msgstr "Endpoint URL che ha elaborato il codice a barre" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Contesto" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "Discussioni Email" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Chiave" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} cancellato" msgid "A order that is assigned to you was canceled" msgstr "Un ordine assegnato a te è stato annullato" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Elemento ricevuto" @@ -2524,7 +2528,7 @@ msgstr "Nome del file" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "Tipo di modello" @@ -2914,8 +2918,8 @@ msgstr "Gli articoli sono modelli per impostazione predefinita" msgid "Parts can be assembled from other components by default" msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Componente" @@ -2931,7 +2935,7 @@ msgstr "Acquistabile" msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Vendibile" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "Errori di log che si verificano durante la generazione dei report" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Dimensioni pagina" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "Tutti i modelli" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "Nessun tipo di modello allegato fornito" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "Tipo di modello allegato non valido" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "I posti minimi non possono essere superiori al massimo" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "Il numero massimo di posti non può essere inferiore al minimo" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Un dominio vuoto non è consentito." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nome dominio non valido: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "Il valore deve essere maiuscolo" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "Il valore deve essere un identificatore variabile valido" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "Il fornitore è attivo" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Produttore" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Azienda" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Indirizzo email" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Contatto" @@ -4297,7 +4301,7 @@ msgstr "Partita IVA" msgid "Company Tax ID" msgstr "Codice Fiscale Azienda" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Indirizzo" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "Collegamento alle informazioni sull'indirizzo (esterno)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Codice articolo produttore" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Seleziona Produttore" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "Codice articolo produttore (MPN)" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Fornitore" @@ -4448,7 +4452,7 @@ msgstr "Fornitore" msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Confezionamento" @@ -4533,7 +4537,7 @@ msgstr "Valuta predefinita utilizzata per questo fornitore" msgid "Company Name" msgstr "Nome Azienda" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "In magazzino" @@ -4722,7 +4726,7 @@ msgstr "Dati riga originali" msgid "Errors" msgstr "Errori" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Valido" @@ -4838,7 +4842,7 @@ msgstr "Numero di copie da stampare per ogni etichetta" msgid "Connected" msgstr "Connesso" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Sconosciuto" @@ -4942,7 +4946,7 @@ msgstr "Chiave della proprietà" msgid "Value of the property" msgstr "Valore della proprietà" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Gruppo" @@ -4966,118 +4970,118 @@ msgstr "Progresso Massimo" msgid "Maximum value for progress type, required if type=progress" msgstr "Valore massimo per il tipo di avanzamento, richiesto se tipo = progresso" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Riferimento ordine" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "In Sospeso" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "Ha il codice del progetto" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Creato Da" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "Creato prima" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "Creato dopo" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "Ha data d'inizio" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "Data d'inizio prima" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "Data d'inizio dopo" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "Ha data di fine" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "Data obiettivo prima" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "Data obiettivo dopo" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "Prezzo Articolo" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "Completato prima" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "Completato dopo" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "Ordine di Produzione Esterno" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Ordine" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "Ordine completato" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Articolo interno" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "Ordine in sospeso" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Completato" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "Ha Spedizione" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Ordine D'Acquisto" msgid "Sales Order" msgstr "Ordini di Vendita" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Restituisci ordine" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "L'indirizzo non corrisponde all'azienda selezionata" msgid "Order description (optional)" msgstr "Descrizione dell'ordine (opzionale)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Seleziona il codice del progetto per questo ordine" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Collegamento a un sito web esterno" @@ -5151,7 +5155,7 @@ msgstr "Data iniziale" msgid "Scheduled start date for this order" msgstr "Data d'inizio programmata per questo ordine" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Data scadenza" @@ -5184,487 +5188,487 @@ msgstr "Punto di contatto per questo ordine" msgid "Company address for this order" msgstr "Indirizzo dell'azienda per questo ordine" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Stato" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Riferimento fornitore" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Codice di riferimento ordine fornitore" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "ricevuto da" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "Data ordine completato" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Destinazione" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "Destinazione per gli elementi ricevuti" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine di produzione" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "L'elemento di riga non corrisponde all'ordine di acquisto" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "Manca un elemento collegato" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "La quantità deve essere un numero positivo" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Cliente" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Azienda da cui sono stati ordinati gli elementi" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "Stato ordine di vendita" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Riferimento Cliente " -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Data di spedizione" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "spedito da" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "L'ordine è già stato completato" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "L'ordine è già stato annullato" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Solo un ordine aperto può essere contrassegnato come completo" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "L'ordine non può essere completato in quanto ci sono spedizioni incomplete" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "L'ordine non può essere completato perché ci sono allocazioni incomplete" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "L'ordine non può essere completato perché ci sono elementi di riga incompleti" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "L'ordine è bloccato e non può essere modificato" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Quantità Elementi" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Riferimento Linea Elemento" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Note linea elemento" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Data di destinazione per questa voce di riga (lasciare vuoto per utilizzare la data di destinazione dall'ordine)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Descrizione della parte (opzionale)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "Contesto aggiuntivo per questa voce" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Prezzo unitario" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "Riga ordine d'acquisto" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "L'articolo del fornitore deve corrispondere al fornitore" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "L'ordine di produzione deve essere contrassegnato come esterno" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "Gli ordini di costruzione possono essere collegati solo alle parti di assemblaggio" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "L'articolo dell'ordine di produzione deve corrispondere all'articolo della riga" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Ricevuto" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Prezzo di Acquisto" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Prezzo di acquisto unitario" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "Ordine di produzione esterno che deve essere eseguito da questo articolo" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "Riga Extra ordine di acquisto" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "Articolo ordine di vendita" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "Solo gli articoli vendibili possono essere assegnati a un ordine di vendita" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Prezzo di Vendita" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Prezzo unitario di vendita" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Spedito" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Quantità spedita" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "Spedizione dell'ordine di vendita" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "L'indirizzo di spedizione deve corrispondere al cliente" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "Indirizzo di consegna per questa spedizione" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Data di consegna" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Data di consegna della spedizione" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Verificato Da" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Spedizione" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Numero di spedizione" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Numero di monitoraggio" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Informazioni di monitoraggio della spedizione" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Numero Fattura" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Numero di riferimento per la fattura associata" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "La spedizione è già stata spedita" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "La spedizione deve essere controllata prima che possa essere completata" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "Riga Extra ordine di vendita" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "Assegnazione Ordini Di Vendita" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "L'elemento di magazzino non è stato assegnato" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "Impossibile allocare l'elemento stock a una linea con un articolo diverso" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "Impossibile allocare stock a una riga senza un articolo" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "La spedizione non corrisponde all'ordine di vendita" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Linea" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Elemento" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Seleziona elemento stock da allocare" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "Riferimento ordine di reso" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Società a cui vengono restituiti gli articoli" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "Stato ordine di reso" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "Articolo Linea Ordine Reso" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "L'elemento stock deve essere specificato" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "Quantità di reso superiore alla quantità di scorta" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "La quantità di reso deve essere maggiore di zero" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "Quantità non valida per l'elemento stock serializzato" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Seleziona l'elemento da restituire dal cliente" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Data di ricezione" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "La data in cui questo articolo restituito è stato ricevuto" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Risultati" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Risultato per questa voce di riga" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Costo associato alla restituzione o riparazione per questa voce di linea" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "Riga Extra ordine di reso" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "Copia Linee Extra" msgid "Copy extra line items from the original order" msgstr "Copia gli elementi di riga extra dall'ordine originale" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Copia parametri" @@ -5784,11 +5788,11 @@ msgstr "Unisci elementi" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Unisce gli elementi con lo stesso articolo, destinazione e data di destinazione in una riga" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "Codice articolo" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Inserisci il codice univoco per gli articoli in arrivo" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Data di Scadenza" @@ -6056,123 +6060,131 @@ msgstr "Ordini di Reso in Ritardo" msgid "Return order {ro} is now overdue" msgstr "L'ordine di reso {ro} è ora in ritardo" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "Preferiti" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "Filtra per categorie preferite" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Profondità" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "Filtra per profondità categoria" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "Livello principale" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "Filtra per categorie di primo livello" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "Cascata" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "Includi sottocategorie nei risultati filtrati" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "Genitore" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "Filtra per categoria genitore" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "Escludi sottocategorie sotto la categoria specificata" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "Ha Risultati" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "È una Variante" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "E' una revisione" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "Ha revisioni" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "BOM Valido" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "Categorie a Cascata" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "Se Vero, includere gli elementi nelle categorie figlie della categoria specificata" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Filtra per categoria ID numerica o per la stringa 'null'" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "L'articolo assemblato è provabile" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "Il componente è provabile" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "Utilizzi" @@ -6213,7 +6225,7 @@ msgstr "Parole chiave predefinite per gli articoli in questa categoria" msgid "Icon" msgstr "Icona" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Icona (facoltativa)" @@ -6349,7 +6361,7 @@ msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN - Numero di riferimento interno" @@ -6358,7 +6370,7 @@ msgstr "IPN - Numero di riferimento interno" msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Revisione" @@ -6382,7 +6394,7 @@ msgstr "Scadenza Predefinita" msgid "Expiry time (in days) for stock items of this part" msgstr "Scadenza (in giorni) per gli articoli in giacenza di questo pezzo" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Scorta Minima" @@ -6390,7 +6402,7 @@ msgstr "Scorta Minima" msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "Articolo subordinato" msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "Categoria Superiore" msgid "Parent part category" msgstr "Categoria articolo principale" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Sottocategorie" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "Risultati" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "Numero di risultati registrati rispetto a questo modello" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "Il file non è un immagine" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Copia note" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "Copia note dall'articolo originale" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "Copia Test" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "Copia modelli di test dall'articolo originale" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:474 +#: 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:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:482 +#: 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:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:552 +#: 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:559 +#: 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:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Nome Categoria" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "In Costruzione" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "Quantità di questo articolo attualmente in produzione" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Eccezionale quantità di questa parte prevista da costruire" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Articoli in magazzino" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "Revisioni" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Giacenze Totali" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "Scorte Non Assegnate" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "Scorta Variante" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Immagine esistente" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "Nome del file di un'immagine articolo esistente" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "Il file immagine non esiste" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Convalida l'intera Fattura dei Materiali" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Puoi produrre" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "Richiesto per gli Ordini di Produzione" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "Assegnato agli Ordini di Produzione" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "Richiesto per gli Ordini di Vendita" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "Assegnato agli Ordini di Vendita" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Prezzo Minimo" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Sovrascrivi valore calcolato per il prezzo minimo" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Valuta del prezzo minimo" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Prezzo Massimo" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "Sovrascrivi valore calcolato per il prezzo massimo" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Valuta del prezzo massimo" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Impossibile convertire dalle valute fornite in {default_currency}" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "Il prezzo minimo non può essere maggiore del prezzo massimo" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "Il prezzo massimo non può essere minore del prezzo minimo" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "Seleziona l'assemblaggio padre" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "Seleziona la componente" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" @@ -7326,91 +7338,91 @@ msgstr "Nessuna azione specificata" msgid "No matching action found" msgstr "Nessuna azione corrispondente trovata" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "Nessuna corrispondenza trovata per i dati del codice a barre" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Corrispondenza trovata per i dati del codice a barre" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "Il modello non è supportato" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "Istanza del modello non trovata" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "Il codice a barre corrisponde a un elemento esistente" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "Nessun articolo corrispondente trovato" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "Nessun fornitore articolo corrispondente trovato" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "Trovati più articoli fornitori corrispondenti" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "Nessuna plugin corrispondente trovato per i dati del codice a barre" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "Corrispondenza Articoli del Fornitore" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "L'articolo è già stato ricevuto" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "Nessun plugin corrisponde al codice a barre del fornitore" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "Trovati più articoli corrispondenti" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "Nessun elemento corrispondente trovato" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "Nessun ordine di vendita fornito" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "Il codice a barre non corrisponde a un articolo di magazzino valido" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "L'elemento in magazzino non corrisponde alla riga" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "Scorte insufficienti disponibili" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "Articolo di magazzino assegnato all'ordine di vendita" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "Informazioni non sufficienti" @@ -7992,7 +8004,7 @@ msgstr "Bordo" msgid "Print a border around each label" msgstr "Stampa un bordo intorno ad ogni etichetta" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "Orizzontale" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Nome modello" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "Descrizione del template" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "Allega al Modello su Stampa" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Salva l'output del report come allegato contro l'istanza del modello collegato durante la stampa" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Formato del nome file" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Filtri" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Larghezza [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Altezza [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Snippet" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Report file snippet" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Descrizione file snippet" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Risorsa" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Report file risorsa" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "File risorsa descrizione" @@ -8766,200 +8778,200 @@ msgstr "Nessun risultato" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "File immagine non trovato" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "Nome della parte (maiuscole e minuscole)" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "Il nome della parte contiene (maiuscole e minuscole)" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "Nome della parte (regex)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "IPN della parte (maiuscole e minuscole)" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "IPN della parte contiene (maiuscole e minuscole)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "IPN della parte (regex)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "Giacenza minima" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "Giacenza massima" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Codici di stato" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Ubicazione Esterna" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "Obsoleto" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "Seleziona Owner" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie." -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Esterno" @@ -9101,7 +9113,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:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "Imballaggio di questo articolo di magazzino è collocato in" @@ -9117,7 +9129,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:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Codice lotto per questo elemento di magazzino" @@ -9234,7 +9246,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:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" @@ -9398,7 +9410,7 @@ msgstr "Inserisci i numeri di serie per i nuovi elementi" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Scaduto" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "La quantità non deve superare la quantità disponibile ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Sottoallocazioni" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "L'articolo deve essere vendibile" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "L'elemento è assegnato a un ordine di vendita" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "Elemento assegnato a un ordine di costruzione" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "Cliente a cui assegnare elementi di magazzino" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "L'azienda selezionata non è un cliente" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Note sull'assegnazione delle scorte" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "Deve essere fornito un elenco degli elementi di magazzino" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Note di fusione di magazzino" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Consenti fornitori non corrispondenti" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 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:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Consenti stato non corrispondente" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 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:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "Devono essere riforniti almeno due elementi in magazzino" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "Nessun cambiamento" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Valore di chiave primaria StockItem" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Note sugli spostamenti di magazzino" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "Permessi" msgid "Important dates" msgstr "Date Importanti" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "Il token è stato revocato" @@ -9927,163 +9939,163 @@ msgstr "Il token è stato revocato" msgid "Token has expired" msgstr "Il token è scaduto" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "Token API" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "Token API" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Nome Token" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Nome token personalizzato" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Data di scadenza token" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Ultimo accesso" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Revocato" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Impostazione autorizzazioni" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Visualizza" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Autorizzazione a visualizzare gli articoli" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Aggiungi" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Autorizzazione ad aggiungere elementi" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Modificare" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Permessi per modificare gli elementi" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Elimina" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "Bot" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "Interno" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "Ospite" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "Lingua" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "Lingua preferita dell'utente" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "Tema" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "Widgets" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "Nome Visualizzato" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index 9323519240..3770082aa7 100644 --- a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "APIエンドポイントが見つかりません" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "一括処理を行うには、部品リストを指示する必要があります" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "項目はリストとして提供されなければなりません" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "無効なアイテムリスト" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "すべてのフィルターは真の場合にのみ使用されなければならない" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "指定された条件に一致する項目がありません" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "データの提供がありません。" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "この項目は一意である必要があります。" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "ユーザーにこのモデルを表示する権限がありません" @@ -65,11 +65,11 @@ msgstr "メールアドレスの確認" msgid "You must type the same email each time." msgstr "毎回同じメールアドレスを入力する必要があります。" -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "指定されたプライマリEメールアドレスは無効です。" -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "指定されたメールドメインは承認されていません。" @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "{original}を{unit}に変換できませんでした。" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "数量コードが無効です" @@ -105,22 +105,22 @@ msgstr "日付を入力する" msgid "Invalid decimal value" msgstr "無効な10進数値" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "メモ" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "値 '{name}' はパターン形式で表示されません" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "指定された値が必要なパターンと一致しません: " @@ -164,51 +164,51 @@ msgstr "この値からHTMLタグを削除" msgid "Data contains prohibited markdown content" msgstr "データに禁止されているマークダウン・コンテンツが含まれています。" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "無効なURL:ホスト名がありません" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "無効なURL:ホスト名を解決できませんでした" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "URLがプライベートIPアドレスまたは予約済みIPアドレスを指しています" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "リダイレクトが多すぎます" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "接続エラー" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "サーバは無効なステータスコードで応答しました" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "例外が発生しました" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "サーバーが無効なContent-Length値で応答しました" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "画像サイズが大きすぎます" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "画像のダウンロードが最大サイズを超えました" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "リモートサーバーが空のレスポンスを返しました" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "指定されたURLは有効な画像ファイルではありません" @@ -220,117 +220,121 @@ msgstr "アプリにログイン" msgid "Email" msgstr "メールアドレス" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "二要素認証を有効にする必要があります。" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "プラグイン検証の実行エラー" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "メタデータは python dict オブジェクトでなければなりません。" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "プラグインメタデータ" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "外部プラグインで使用するためのJSONメタデータフィールド" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "不適切な書式パターン" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "不明なフォーマットキーが指定されました" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "必要なフォーマットキーがありません" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "参照フィールドを空にすることはできません。" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "参照は必須パターンに一致する必要があります。" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "参照番号が大きすぎる" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "お名前" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "説明" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "説明 (オプション)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "パス" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "同じ親に重複した名前は存在しません。" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "マークダウンメモ (オプション)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "バーコード情報" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "サードパーティ製バーコードデータ" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "バーコードハッシュ" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "バーコードデータのユニークなハッシュ" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "既存のバーコードが見つかりました" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "サーバーエラー" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "サーバーによってエラーが記録されました。" -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "有効な数字でなければなりません" msgid "Currency" msgstr "通貨" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "利用可能なオプションから通貨を選択してください" @@ -521,11 +525,11 @@ msgstr "中国語 (簡体字)" msgid "Chinese (Traditional)" msgstr "中国語 (繁体字)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "アップデートが利用可能" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "InvenTreeの更新版が利用可能になりました" @@ -537,7 +541,7 @@ msgstr "無効な物理単位" msgid "Not a valid currency code" msgstr "有効な通貨コードではありません。" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "注文ステータス" @@ -546,23 +550,23 @@ msgstr "注文ステータス" msgid "Parent Build" msgstr "親ビルド" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "バリアントを含む" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "バリアントを含む" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "バリアントを含む" msgid "Part" msgstr "パーツ" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "カテゴリ" @@ -593,7 +597,7 @@ msgstr "カテゴリ" msgid "Ancestor Build" msgstr "祖先ビルド" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "担当" @@ -601,11 +605,11 @@ msgstr "担当" msgid "Assigned To" msgstr "割り当て" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "作成前" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "の後に作成されました。" @@ -641,99 +645,99 @@ msgstr "完成前" msgid "Completed after" msgstr "終了後" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "最小日付" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "最大日付" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "ツリーを除く" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "削除するには、ビルドをキャンセルする必要があります。" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "消耗品" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "オプション" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "アセンブリ" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "追跡" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "テスト可能" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "受注残高" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "割り当てられた" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "消費されました" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "利用可能" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "注文中" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "ビルドが見つかりません" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "組立注文" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "場所" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "出力" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "出力ストックアイテムIDでフィルタリングします。未インストールビルドアイテムを検索するには「null」をご使用ください。" @@ -773,9 +777,9 @@ msgstr "目標期日は開始日以降であること" msgid "Build Order Reference" msgstr "ビルド・オーダー・リファレンス" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "セールス・オーダー・リファレンス" msgid "Sales Order to which this build is allocated" msgstr "このビルドが引き当てられている受注" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "ソース・ロケーション" @@ -821,7 +825,7 @@ msgstr "外部ビルド" msgid "This build order is fulfilled externally" msgstr "このビルドオーダーは外部委託されます。" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "目的地" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "ビルドステータスコード" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "バッチコード" @@ -883,8 +887,8 @@ msgstr "完成目標日" msgid "Target date for build completion. Build will be overdue after this date." msgstr "ビルド完了目標日。この日付を過ぎると、ビルドは期限切れになります。" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "完了日" @@ -900,7 +904,7 @@ msgstr "発行者" msgid "User who issued this build order" msgstr "このビルドオーダーを発行したユーザー" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "建設順序の優先順位" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "プロジェクトコード" @@ -962,9 +966,9 @@ msgstr "ビルド出力がビルド順序と一致しません" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "数量はゼロより大きくなければなりません" @@ -999,7 +1003,7 @@ msgstr "ビルドオブジェクト" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "シリアル在庫の場合、数量は1でなければなりません msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "割当数量({q})は在庫可能数量({a})を超えてはなりません。" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "在庫が過剰配分" @@ -1057,8 +1061,8 @@ msgstr "在庫が過剰配分" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "在庫商品" @@ -1082,7 +1086,7 @@ msgstr "仕向け地在庫品" msgid "Build Level" msgstr "ビルドレベル" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "部品名" @@ -1139,7 +1143,7 @@ msgstr "シリアル番号の自動割り当て" msgid "Automatically allocate required items with matching serial numbers" msgstr "シリアル番号が一致する必要なアイテムを自動的に割り当て" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "以下のシリアル番号は既に存在するか、無効です。" @@ -1272,7 +1276,7 @@ msgstr "ビルドラインアイテム" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.partは、ビルドオーダーと同じパーツを指す必要があります。" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "在庫があること" @@ -1385,8 +1389,8 @@ msgstr "インストール先" msgid "Build" msgstr "ビルド" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "サプライヤー" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "バリアントを許可" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "BOMアイテム" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "生産中" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "ビルド予定" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "外部在庫" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "在庫状況" @@ -1527,31 +1531,31 @@ msgstr "期限切れ注文" msgid "Build order {bo} is now overdue" msgstr "ビルドオーダー{bo}は現在期限切れです" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "サムネイルあり" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "リンク" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "ファイル" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "ユーザーにはこれらの添付ファイルを削除する権限がありません。" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "この添付ファイルを編集する権限がありません" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "ユーザーにはこの添付ファイルを削除する権限がありません" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "選択リストがロックされています" @@ -1571,8 +1575,8 @@ msgstr "有効な通貨コードはありません" msgid "No plugin" msgstr "プラグインなし" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "キー文字列は一意でなければなりません。" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "ユーザー" @@ -1654,8 +1658,8 @@ msgstr "ユーザー" msgid "Price break quantity" msgstr "価格破壊数量" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "価格" @@ -1677,8 +1681,8 @@ msgstr "このウェブフックの名前" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "有効" @@ -1686,7 +1690,7 @@ msgstr "有効" msgid "Is this webhook active" msgstr "このウェブフックはアクティブですか" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "トークン" @@ -1756,7 +1760,7 @@ msgstr "タイトル" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "このパラメータの有効な選択肢(カンマ区切り)" msgid "Selection list for this parameter" msgstr "このパラメータの選択リスト" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "有効" @@ -2204,8 +2208,8 @@ msgstr "モデルID" msgid "ID of the target model for this parameter" msgstr "このパラメータの対象となるモデルのID" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "テンプレート" @@ -2262,7 +2266,7 @@ msgstr "バーコードスキャンの日時" msgid "URL endpoint which processed the barcode" msgstr "バーコードを処理したURLエンドポイント" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "コンテキスト" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "メールのスレッド" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "キー" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} キャンセル" msgid "A order that is assigned to you was canceled" msgstr "あなたに割り当てられた注文がキャンセルされました。" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "受領品目" @@ -2524,7 +2528,7 @@ msgstr "ファイル名" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "モデルタイプ" @@ -2914,8 +2918,8 @@ msgstr "パーツはデフォルトのテンプレートです" msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "コンポーネント" @@ -2931,7 +2935,7 @@ msgstr "購入可能" msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "販売可能" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "レポート生成時に発生するエラーのログ" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "ページサイズ" @@ -4128,49 +4132,49 @@ msgstr "最終階層の項目を表示" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "子要素がない場所やカテゴリについては、サブレベルではなくアイテムやパーツを自動的にデフォルト表示にします" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "全モデル" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "アタッチメント型式なし" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "無効なアタッチメントモデルタイプ" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "ファイルサイズが{max_size} MBのアップロード上限を超えています" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "ファイル名が不正です" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "最小プレースは最大プレースより大きくできません。" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "最大定員が最小定員を下回ることはありません。" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "空のドメインは使用できません。" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "無効なドメイン名: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "値は大文字でなければならない" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "値は有効な変数識別名でなければならない。" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "サプライヤーの活動" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "製造元" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "会社名" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "連絡先メールアドレス" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "お問い合わせ" @@ -4297,7 +4301,7 @@ msgstr "納税者番号" msgid "Company Tax ID" msgstr "法人税番号" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "住所" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "住所情報へのリンク(外部)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "メーカー・パーツ" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "メーカー選択" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "MPN" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "リンクされたメーカー部品は、同じベース部品を参照する必要があります。" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "仕入先" @@ -4448,7 +4452,7 @@ msgstr "仕入先" msgid "Select supplier" msgstr "サプライヤーを選択" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "サプライヤー在庫管理ユニット" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "ミニマムチャージ(例:仕入れ手数料)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "パッケージング" @@ -4533,7 +4537,7 @@ msgstr "このサプライヤーで使用されるデフォルト通貨" msgid "Company Name" msgstr "会社名" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "在庫あり" @@ -4722,7 +4726,7 @@ msgstr "元の行データ" msgid "Errors" msgstr "エラー" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "有効" @@ -4838,7 +4842,7 @@ msgstr "各ラベルの印刷部数" msgid "Connected" msgstr "接続済み" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "不明" @@ -4942,7 +4946,7 @@ msgstr "プロパティーキー" msgid "Value of the property" msgstr "プロパティー値" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "グループ" @@ -4966,118 +4970,118 @@ msgstr "最大進捗" msgid "Maximum value for progress type, required if type=progress" msgstr "進行状況タイプの場合の最大値。type=progress の場合に必須です。" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "注文参照" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "並外れた" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "プロジェクトコード" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "作成者" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "作成前" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "の後に作成されました。" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "開始日あり" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "開始日 前" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "開始日 後" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "目標期日あり" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "目標期日" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "以降の目標日" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "更新日(開始)" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "更新日(終了)" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "価格" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "完成前" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "終了後" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "外部ビルドオーダー" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "注文" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "注文完了" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "内部パーツ" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "注文保留" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "完了" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "出荷あり" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "配送が見つかりません" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "注文" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "注文" msgid "Sales Order" msgstr "セールスオーダー" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "リターンオーダー" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "在庫移動指示" @@ -5135,11 +5139,11 @@ msgstr "指定の会社と住所が一致しません" msgid "Order description (optional)" msgstr "ご注文内容(任意)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "この注文のプロジェクトコードを選択してください。" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "外部ページへのリンク" @@ -5151,7 +5155,7 @@ msgstr "開始日" msgid "Scheduled start date for this order" msgstr "本注文の開始予定日" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "終了日に達したら" @@ -5184,487 +5188,487 @@ msgstr "本注文に関する連絡先" msgid "Company address for this order" msgstr "本注文の会社住所" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "注文参照" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "ステータス" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "発注状況" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "注文元の会社" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "サプライヤー・リファレンス" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "サプライヤー注文参照コード" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "受信" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "注文完了日" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "目的地" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "入荷商品のお届け先" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "部品サプライヤーは、POサプライヤーと一致する必要があります。" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "品目が発注書と一致しません" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "行項目にリンクされた部品が不足しています" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "数量は正の数でなければなりません。" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "仮想部品にはシリアル番号を割り当てることはできません" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "顧客" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "販売先" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "販売注文状況" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "お客様リファレンス" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "顧客注文参照コード" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "出荷日" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "出荷元" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "注文はすでに完了しています。" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "注文はすでにキャンセルされました" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "未完了の注文にのみ完了マークを付けることができます。" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "出荷に不備があるため、注文を完了できません。" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "割り当てに不備があるため、注文を完了できません。" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "不完全な項目があるため、注文を完了できません。" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "注文はロックされ、変更できません。" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "品目数量" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "項番" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "この項目の行番号(任意)" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "行項目参照" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "項目" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "この行項目の目標期日(注文の目標期日を使用する場合は空白のままにしてください。)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "行項目の説明(オプション)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "この行の補足説明" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "単価" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "発注書項目" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "サプライヤーの部品はサプライヤーと一致しなければなりません。" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "ビルドオーダーは外部としてマークする必要があります" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "ビルドオーダーはアセンブリ部品にのみリンクできます" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "ビルドオーダーの部品は、ラインアイテムの部品と一致する必要があります。" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "組立部品には、外部ビルドオーダーが必要です" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "サプライヤー" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "受信" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "受領品目数" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "購入単価" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "本品目により完成する外部ビルドオーダー" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "発注書追加行" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "販売注文明細" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "販売可能な部品のみを販売オーダーに割り当てることができます。" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "セール価格" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "販売単価" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "発送済み" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "出荷数量" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "販売注文の出荷" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "配送先住所はお客様と一致している必要があります" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "こちらの発送先住所" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "出荷日" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "配達日" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "貨物の引渡日" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "チェック済み" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "この貨物をチェックしたユーザー" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "発送" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "出荷番号" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "追跡番号" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "貨物追跡情報" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "請求書番号" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "関連する請求書の参照番号" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "発送済み" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "出荷品目に割り当てられた在庫がありません" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "出荷は完了前に必ず確認が必要となります" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "セールスオーダー追加ライン" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "販売注文の割り当て" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "在庫アイテムが割り当てられていません" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "在庫品を別部品のラインに割り当てることはできません。" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "部品のないラインに在庫を割り当てることはできません。" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "割当数量が在庫数量を超えることはできません" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "割当数量はゼロより大きくなければなりません" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "シリアル化された在庫品の場合、数量は1でなければなりません。" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "販売注文と出荷が一致しません" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "出荷が販売注文と一致しません" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "ライン" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "販売注文の出荷参照" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "アイテム" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "割り当てるストックアイテムを選択" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "在庫割当数量の入力" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "リターンオーダー参照" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "返品元の会社" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "返品状況" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "返品注文項目" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "在庫品の指定が必要です。" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "返品数量が在庫数量を超える場合" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "返品数量はゼロより大きくなければなりません。" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "シリアル化されたストックアイテムの数量が無効です。" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "お客様から返品する商品を選択" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "受領日" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "この返品商品が到着した日付" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "転帰" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "この項目の成果" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "この品目の返品または修理に関連する費用" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "リターンオーダー追加ライン" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "在庫移動指示コード" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "在庫移動指示の状態" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "移動元品" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "移動先品" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "在庫を消費する" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "在庫を移動するのではなく、割り当てられた在庫品から移動数量を差し引くことで、それを「消費」します" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "移動先が設定されるまで、指示を完了することはできません" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "指示は、完全に割り当てられるまで完了しません" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "在庫移動指示明細" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "移動されました" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "移動数" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "在庫移動指示の引き当て" @@ -5692,7 +5696,7 @@ msgstr "余分な行をコピー" msgid "Copy extra line items from the original order" msgstr "元の注文から余分な項目をコピー" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "コピーパラメータ" @@ -5784,11 +5788,11 @@ msgstr "アイテムのマージ" msgid "Merge items with the same part, destination and target date into one line item" msgstr "同じ品目、同じ仕向け地、同じ日付の品目を1つの品目に統合します。" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "SKU" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "内部部品番号" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "入荷在庫品のバッチコード入力" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "有効期限" @@ -6056,123 +6060,131 @@ msgstr "期限切れ返品注文" msgid "Return order {ro} is now overdue" msgstr "リターンオーダー{ro}は現在期限切れです" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "スター付き" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "星の数で絞り込む" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "深さ" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "カテゴリの深さでフィルタリング" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "最多メンバーレベル" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "トップレベルカテゴリーによるフィルタリング" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "カスケード表示" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "フィルタリング結果にサブカテゴリーを含めることができます。" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "親" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "親カテゴリーによる絞り込み" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "指定したカテゴリの下にあるサブカテゴリを除外します。" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "実績あり" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "バリエーション?" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "改訂版" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "改定あり" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "BOM有効" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "カスケードカテゴリ" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "もし該当する場合には、指定されたカテゴリの子カテゴリ内のアイテムを含めてください。" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "数値カテゴリIDまたはリテラル'null'でフィルタリングしてください" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "アセンブリ部品はアクティブです" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "アセンブリ部品は追跡可能です" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "組み立て部分はテスト可能" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "アセンブリ部品はロックされています" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "コンポーネント部品はアクティブです" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "コンポーネント部品は追跡可能です" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "コンポーネント部分はテスト可能" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "コンポーネント部品はアセンブリです" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "コンポーネント部品は仮想的なものです" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "引き当て可能在庫あり" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "用途" @@ -6213,7 +6225,7 @@ msgstr "このカテゴリの部品のデフォルトキーワード" msgid "Icon" msgstr "アイコン" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "アイコン (オプション)" @@ -6349,7 +6361,7 @@ msgstr "検索結果での視認性を向上させる部分キーワード" msgid "Part category" msgstr "パーツカテゴリ" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6358,7 +6370,7 @@ msgstr "IPN" msgid "Part revision or version number" msgstr "部品のリビジョンまたはバージョン番号" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "リビジョン" @@ -6382,7 +6394,7 @@ msgstr "デフォルトの有効期限" msgid "Expiry time (in days) for stock items of this part" msgstr "この部品の在庫品の有効期限(日単位" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "最小在庫" @@ -6390,7 +6402,7 @@ msgstr "最小在庫" msgid "Minimum allowed stock level" msgstr "最低許容在庫量" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "最大在庫数" @@ -6759,7 +6771,7 @@ msgstr "サブパート" msgid "Select part to be used in BOM" msgstr "BOMで使用する部品を選択" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "金額" @@ -6911,351 +6923,351 @@ msgstr "親カテゴリ" msgid "Parent part category" msgstr "親部品カテゴリー" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "サブカテゴリ" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "結果" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "このテンプレートに対して記録された結果の数" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "この在庫商品の購入通貨" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "ファイルが画像ではありません" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "オリジナルパート" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "複製する元の部品を選択" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "コピー画像" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "元の部分から画像をコピー" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "コピーBOM" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "元の部品から部品表をコピー" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "元の部品からパラメータデータをコピー" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "コピーノート" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "元のパートからメモをコピー" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "コピーテスト" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "元の部品からテスト用テンプレートをコピーしてください" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "初期在庫量" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "この部品の初期在庫数量を指定します。数量が0の場合、在庫は追加されません。" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "初期在庫場所" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "この部品の初期在庫場所を指定してください。" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "サプライヤーを選択してください。" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "メーカーを選択してください。" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "メーカー品番" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "選択された企業は有効なサプライヤーではありません。" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "選択された会社は有効な製造業者ではありません。" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "このMPNに一致するメーカー部品はすでに存在します。" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "このSKUに一致するサプライヤー部品は既に存在します。" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "カテゴリ名" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "建物" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "現在生産中の当該部品の数量" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "この部品の予定生産数量" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "在庫商品" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "リビジョン" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "総在庫" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "未割当株式" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "バリアントストック" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "重複部分" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "別のパートから初期データをコピー" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "初期在庫" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "初期在庫数で部品を作成" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "サプライヤー情報" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "この部品の初期サプライヤー情報を追加します。" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "コピーカテゴリパラメータ" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "選択したパーツカテゴリーからパラメータテンプレートをコピー" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "既存イメージ" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "既存の部品画像のファイル名" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "画像ファイルが存在しません" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "部品表全体の検証" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "ビルド" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "ビルドオーダーに必要なもの" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "ビルドオーダーに割り当てられました" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "セールスオーダーに必要なもの" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "セールスオーダーに割り当てられました" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "パートIPN" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "部品の説明" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "部品を選択すると、その部品(およびそのバリエーション部品)の棚卸し情報を作成します" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "カテゴリを選択すると、そのカテゴリ(およびサブカテゴリ)に含まれるすべての部品が表示されます" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "ロケーションを選択すると、そのロケーション(およびサブロケーション)にあるすべての部品が表示されます" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "棚卸しデータを登録" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "選択した部品の棚卸しデータを保存" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "レポートを生成" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "選択した部品の棚卸し明細を作成" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "最小価格" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "最低価格の計算値の上書き" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "最低価格通貨" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "最大価格" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "最高価格の計算値を上書き" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "最高価格通貨" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "更新" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "この部品の価格を更新" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "提供された通貨から{default_currency}に変換できませんでした。" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "最低価格は最高価格を超えてはなりません。" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "最高価格は最低価格を下回ってはなりません。" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "この部品の必要数量(数量単位を含めることができます)" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "親アセンブリを選択" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "構成部品の選択" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "数量の形式が不正です" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "BOMをコピーする部品を選択します。" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "既存データの削除" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "コピー前に既存のBOMアイテムを削除" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "インクルード継承" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "テンプレート化された部品から継承されたBOM項目を含めます。" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "無効な行をスキップ" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "無効な行をスキップするには、このオプションを有効にします。" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "コピー代用部品" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "BOMアイテムの重複時に代替部品をコピー" @@ -7326,91 +7338,91 @@ msgstr "アクションが指定されていません" msgid "No matching action found" msgstr "一致するアクションが見つかりませんでした" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "バーコードデータが見つかりません" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "バーコードデータとの一致が確認されました。" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "モデルはサポートされていません" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "モデルインスタンスが見つかりません" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "バーコードが既存のアイテムと一致" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "一致する部品データが見つかりません" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "一致するサプライヤー部品は見つかりませんでした" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "一致するサプライヤー部品が複数見つかりました" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "バーコードデータに一致するプラグインは見つかりませんでした" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "適合部品" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "商品はすでに受領済みです。" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "サプライヤーのバーコードに一致するプラグインがない" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "複数の一致する行項目が見つかりました" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "該当する項目が見つかりません" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "販売注文はありません" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "バーコードが既存の在庫品と一致しません" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "在庫品目が行品目と一致しません" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "在庫不足" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "販売注文に割り当てられた在庫品目" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "情報が不足しています" @@ -7992,7 +8004,7 @@ msgstr "ボーダー" msgid "Print a border around each label" msgstr "各ラベルの周囲に枠線を印刷します。" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "ランドスケープ" @@ -8481,136 +8493,136 @@ msgstr "リーガル" msgid "Letter" msgstr "文字" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "この名前のテンプレートファイルは既に存在します。" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "テンプレート名" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "テンプレート説明" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "リビジョン番号(自動インクリメント)" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "プリントのモデルに装着" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "印刷時に、リンクされたモデルインスタンスに対してレポート出力を添付ファイルとして保存" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "ファイル名パターン" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "ファイル名生成パターン" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "テンプレートが有効" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "テンプレートの対象モデルタイプ" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "フィルター" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "テンプレートクエリフィルタ(key=valueペアのカンマ区切りリスト)" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "テンプレートファイル" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "PDFレポートのページサイズ" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "レポートを横向きにレンダリング" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "統合" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "選択された項目に対して単一のレポートを生成します" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "テンプレート{self.name}から生成されたレポート" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "テンプレートの構文エラー" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "レポートの表示にエラーが発生しました" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "レポート生成エラー" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "レポート出力の統合エラー" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "幅 [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "ラベル幅(mm単位)" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "高さ [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "ラベルの高さ(mm単位)" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "ラベル印刷エラー" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "スニペット" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "レポートスニペットファイル" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "スニペットファイルの説明" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "資産" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "レポート資産ファイル" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "アセットファイルの説明" @@ -8766,200 +8778,200 @@ msgstr "何も結果はありません" msgid "Transferred" msgstr "転送されました" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "メディアファイルのパスが不正です" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "静的ファイルのパスが不正です" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "アセットファイルが見つかりません" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "画像ファイルが見つかりません" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "画像ファイルが指定されていません" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "part_image タグには Part インスタンスが必要です。" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "company_image タグには Company インスタンスが必要です。" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "場所の深さによる絞り込み" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "トップレベルのロケーションによるフィルタリング" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "フィルタリング結果にサブロケーションを含めることができます。" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "親の位置" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "親の所在地でフィルタリング" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "部品名(大文字・小文字を区別しません)" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "パート名に含まれるもの(大文字・小文字を区別しません)" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "部品名(正規表現)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "パートIPN(大文字と小文字を区別しません)" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "パートIPNに含まれるもの(大文字と小文字は区別されません)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "パートIPN(正規表現)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "最小在庫" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "最大在庫" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "ステータスコード" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "外部ロケーション" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "ビルド・オーダーで消費" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "その他在庫品に装着" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "パートツリー" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "更新前" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "更新後" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "ストックテイク前" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "ストックテイク後" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "有効期限" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "有効期限" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "期限失効" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "そのアイテムおよびそのすべての子孫を除外するためのStockItemのプライマリキーをご提供ください。" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "カスケードの所在地" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "もし真であれば、指定された場所の子要素に含まれる項目を含めます" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "数値のロケーションID、またはリテラル文字列の「null」でフィルタリングしてください。" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "数量が必要です" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "有効な部品を供給する必要があります。" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "指定されたサプライヤの部品が存在しません。" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "サプライヤー部品にはパックサイズが定義されていますが、use_pack_sizeフラグが設定されていません。" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "追跡不可能な部品については、シリアル番号は提供できません。" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "組み込み済みを含める" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "もし真であれば、指定した在庫アイテムの中に組み込まれている構成部品のテスト結果を含める" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "数値による在庫品IDでの絞り込み" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "ID {id} の在庫品は存在しません" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "部品のバリエーションを含める" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "日付(終了)" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "日付(開始)" @@ -8995,7 +9007,7 @@ msgstr "所有者を選択" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "ストックアイテムは、構造的なストックロケーションに直接配置されることはありませんが、子ロケーションに配置されることはあります。" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "外部" @@ -9101,7 +9113,7 @@ msgstr "この在庫品に一致するサプライヤー部品を選択してく msgid "Where is this stock item located?" msgstr "この在庫品はどこにありますか?" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "この在庫品は以下の梱包で保管されています。" @@ -9117,7 +9129,7 @@ msgstr "このアイテムは他のアイテムにインストールされてい msgid "Serial number for this item" msgstr "この商品のシリアル番号" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "このストックアイテムのバッチコード" @@ -9234,7 +9246,7 @@ msgstr "在庫品は現在生産中です。" msgid "Serialized stock cannot be merged" msgstr "連番在庫の統合はできません" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "在庫品の重複" @@ -9398,7 +9410,7 @@ msgstr "新しい商品のシリアル番号の入力" msgid "Supplier Part Number" msgstr "サプライヤー品番" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "期限切れ" @@ -9428,8 +9440,8 @@ msgstr "在庫品目がしていされていません" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "数量は在庫数 ({q}) を超えてはなりません。" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "仕向け地" @@ -9501,127 +9513,127 @@ msgstr "ステータスを変更するストックアイテムを選択" msgid "No stock items selected" msgstr "ストックアイテムが選択されていません" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "サブロケーション" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "在庫品を削除" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "このロケーションにあるすべての在庫品を削除します" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "サブロケーションを削除" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "このロケーションに含まれるすべてのサブロケーションを削除します" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "親株式所在地" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "パーツは販売可能でなければなりません" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "商品が販売オーダーに割り当てられています。" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "部品がが在庫移動指示にに引き当てられました" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "アイテムがビルドオーダーに割り当てられています。" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "在庫アイテムを割り当てるお客様" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "選択された企業は顧客ではありません" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "株式譲渡に関する注意事項" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "在庫品のリストが必要です。" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "株式併合に関する注意事項" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "不一致のサプライヤーを許可" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "異なるサプライヤの部品を持つ在庫品目をマージできるようにします。" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "不一致の状態を許可" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "異なるステータスコードを持つストックアイテムをマージすることができます。" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "少なくとも2つのストックアイテムを提供する必要があります。" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "変化なし" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "StockItem 主キー値" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "在庫がありません" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "在庫品目は既に在庫にあります" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "数量は負の数であってはなりません。" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "株式取引に関する注記" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "既存の在庫に統合します" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "可能なら、返品された商品を既存の在庫商品に統合してください" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "次のシリアル番号" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "以前のシリアル番号" @@ -9919,7 +9931,7 @@ msgstr "許可" msgid "Important dates" msgstr "重要な日付" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "トークンは失効しました" @@ -9927,163 +9939,163 @@ msgstr "トークンは失効しました" msgid "Token has expired" msgstr "トークンの有効期限が切れました" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "APIトークン" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "APIトークン" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "トークン名" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "カスタムトークン名" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "トークンの有効期限" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "最終表示" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "トークンが最後に使用された時間" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "失効" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "パーミッション設定" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "表示" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "項目を表示する権限" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "追加" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "項目を追加する権限" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "変更" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "項目を編集する権限" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "削除" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "項目を削除する権限" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "ボット" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "内部" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "ゲスト" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "言語" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "ユーザーの希望言語" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "テーマ" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "JSONとしてのウェブUI用の設定 - 手動で編集しないでください!" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "ウィジェット" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "JSONとしてのダッシュボード・ウィジェットの設定 - 手動で編集しないでください!" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "表示名" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "ユーザーの表示名選択" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "位置" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "主な役職名" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "ユーザーのステータスメッセージ" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "ユーザーの位置情報" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "ユーザーが積極的にシステムを利用" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "希望の連絡先" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "ユーザータイプ" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "どのようなユーザーですか?" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "組織" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "ユーザーの主な所属組織" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "プライマリーグループ" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "ユーザーのプライマリグループ" diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index fcc46f727c..8a9b7e84a0 100644 --- a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API 엔드포인트를 찾을 수 없습니다" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "일괄 작업을 위해 항목 목록을 제공해야 합니다" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "항목은 목록 형태로 제공되어야 합니다" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "잘못된 항목 목록이 제공되었습니다" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "all 필터는 true와 함께만 사용할 수 있습니다" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "제공된 조건과 일치하는 항목이 없습니다" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "데이터가 제공되지 않았습니다" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "이 필드는 고유해야 합니다." -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "이 모델을 볼 수 있는 권한이 없습니다." @@ -65,11 +65,11 @@ msgstr "이메일 주소 확인" msgid "You must type the same email each time." msgstr "매번 동일한 이메일을 입력해야 합니다." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "제공된 기본 이메일 주소가 유효하지 않습니다." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "제공된 이메일 도메인이 승인되지 않았습니다." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "{original}을(를) {unit}(으)로 변환할 수 없습니다" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "잘못된 수량이 제공되었습니다" @@ -105,22 +105,22 @@ msgstr "날짜 입력" msgid "Invalid decimal value" msgstr "잘못된 소수 값" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "메모" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "값 '{name}'이(가) 패턴 형식에 없습니다" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "제공된 값이 요구되는 패턴과 일치하지 않습니다: " @@ -164,51 +164,51 @@ msgstr "이 값에서 HTML 태그를 제거하세요" msgid "Data contains prohibited markdown content" msgstr "데이터에 금지된 마크다운 내용이 포함되어 있습니다" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "잘못된 URL: 호스트명이 없습니다" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "잘못된 URL: 호스트명을 확인할 수 없습니다" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "URL이 사설 또는 예약된 IP 주소를 가리킵니다" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "리디렉션이 너무 많습니다" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "연결 오류" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "서버가 잘못된 상태 코드를 반환했습니다" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "예외가 발생했습니다" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "서버가 잘못된 Content-Length 값을 반환했습니다" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "이미지 크기가 너무 큽니다!" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "이미지 다운로드가 최대 크기를 초과했습니다" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "원격 서버가 빈 응답을 반환했습니다" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "제공된 URL은 유효한 이미지 파일이 아닙니다" @@ -220,117 +220,121 @@ msgstr "앱에 로그인" msgid "Email" msgstr "이메일" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "다른 작업을 하기 전에 먼저 2단계 인증을 활성화해야 합니다." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "플러그인 유효성 검사 실행 중 오류가 발생했습니다" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "메타데이터는 파이썬 dict 객체여야 합니다" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "플러그인 메타데이터" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "외부 플러그인에서 사용하는 JSON 메타데이터 필드" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "패턴 형식이 올바르지 않습니다" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "알 수 없는 형식 키가 지정되었습니다" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "필수 형식 키가 누락되었습니다" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "참조(Reference) 필드는 비워둘 수 없습니다" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "참조(Reference)는 요구되는 패턴과 일치해야 합니다" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "참조 번호가 너무 큽니다" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "잘못된 선택입니다" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "이름" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "설명" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "설명 (선택 사항)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "경로" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "같은 상위 항목 아래에는 중복된 이름이 있을 수 없습니다" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "마크다운 메모 (선택 사항)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "바코드 데이터" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "서드파티 바코드 데이터" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "바코드 해시" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "바코드 데이터의 고유 해시" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "기존 바코드를 찾았습니다" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "서버 오류" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "서버에 오류가 기록되었습니다." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "유효한 숫자여야 합니다" msgid "Currency" msgstr "통화" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "사용 가능한 옵션에서 통화를 선택하세요" @@ -521,11 +525,11 @@ msgstr "중국어 (간체)" msgid "Chinese (Traditional)" msgstr "중국어 (번체)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "업데이트 사용 가능" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "InvenTree 업데이트가 있습니다" @@ -537,7 +541,7 @@ msgstr "잘못된 물리 단위" msgid "Not a valid currency code" msgstr "유효한 통화 코드가 아닙니다" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "주문 상태" @@ -546,23 +550,23 @@ msgstr "주문 상태" msgid "Parent Build" msgstr "직상위 빌드" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "변형(Variant) 포함" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "변형(Variant) 포함" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "변형(Variant) 포함" msgid "Part" msgstr "부품" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "분류" @@ -593,7 +597,7 @@ msgstr "분류" msgid "Ancestor Build" msgstr "상위 계층 빌드" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "나에게 할당 됨" @@ -601,11 +605,11 @@ msgstr "나에게 할당 됨" msgid "Assigned To" msgstr "할당 대상" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "생성일 이전" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "생성일 이후" @@ -641,99 +645,99 @@ msgstr "완료일 이전" msgid "Completed after" msgstr "완료일 이후" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "최소 날짜" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "최대 날짜" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "트리 제외" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "빌드를 삭제하려면 먼저 취소해야 합니다" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "소모품" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "선택사항" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "조립품" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "추적됨" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "테스트 가능" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "미결 주문" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "할당됨" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "소모됨" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "사용 가능" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "주문 중" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "빌드를 찾을 수 없습니다" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "작업 지시서" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "위치" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "산출물" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "산출물 재고 항목 ID로 필터링합니다. 설치되지 않은 빌드 항목을 찾으려면 'null'을 사용하세요." @@ -773,9 +777,9 @@ msgstr "목표일은 시작일 이후여야 합니다" msgid "Build Order Reference" msgstr "작업 지시서 참조번호" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "판매 주문 참조" msgid "Sales Order to which this build is allocated" msgstr "이 빌드가 할당된 판매 주문" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "원본 위치" @@ -821,7 +825,7 @@ msgstr "외주 생산" msgid "This build order is fulfilled externally" msgstr "이 작업 지시서는 외주로 생산됩니다" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "대상 위치" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "빌드 상태 코드" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "배치 코드" @@ -883,8 +887,8 @@ msgstr "목표 완료일" msgid "Target date for build completion. Build will be overdue after this date." msgstr "빌드 완료 목표일. 이 날짜 이후에는 빌드가 지연으로 처리됩니다." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "완료일" @@ -900,7 +904,7 @@ msgstr "발행자" msgid "User who issued this build order" msgstr "이 작업 지시서를 발행한 사용자" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "이 빌드 주문의 우선순위" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "프로젝트 코드" @@ -962,9 +966,9 @@ msgstr "생산 완제품이 작업 지시서와 일치하지 않습니다" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "수량은 0보다 커야 합니다" @@ -999,7 +1003,7 @@ msgstr "빌드 객체" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "시리얼이 있는 재고의 수량은 1이어야 합니다" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "할당 수량({q})은 사용 가능한 재고 수량({a})을 초과할 수 없습니다" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "재고 항목이 과다 할당되었습니다" @@ -1057,8 +1061,8 @@ msgstr "재고 항목이 과다 할당되었습니다" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "재고 항목" @@ -1082,7 +1086,7 @@ msgstr "대상 재고 항목" msgid "Build Level" msgstr "빌드 레벨" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "부품명" @@ -1139,7 +1143,7 @@ msgstr "시리얼 번호 자동 할당" msgid "Automatically allocate required items with matching serial numbers" msgstr "일치하는 시리얼 번호로 필요한 항목을 자동으로 할당합니다" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "다음 시리얼 번호는 이미 존재하거나 유효하지 않습니다" @@ -1272,7 +1276,7 @@ msgstr "빌드 라인 항목" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part는 빌드 주문과 동일한 부품을 가리켜야 합니다" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "항목은 재고에 있어야 합니다" @@ -1385,8 +1389,8 @@ msgstr "설치 대상" msgid "Build" msgstr "빌드" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "공급업체 부품" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "변형(Variant) 허용" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "BOM 항목" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "생산 중" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "빌드 예정" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "외부 재고" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "사용 가능 재고" @@ -1527,31 +1531,31 @@ msgstr "기한 초과 빌드 주문" msgid "Build order {bo} is now overdue" msgstr "빌드 주문 {bo}이(가) 기한을 초과했습니다" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "링크 여부" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "파일 여부" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "사용자에게 이 첨부파일들을 삭제할 권한이 없습니다" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "사용자에게 이 첨부파일을 삭제할 권한이 없습니다" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "선택 목록이 잠겨 있습니다" @@ -1571,8 +1575,8 @@ msgstr "유효한 통화 코드가 제공되지 않았습니다" msgid "No plugin" msgstr "플러그인 없음" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "키 문자열은 고유해야 합니다" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "사용자" @@ -1654,8 +1658,8 @@ msgstr "사용자" msgid "Price break quantity" msgstr "가격 구간 수량" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "가격" @@ -1677,8 +1681,8 @@ msgstr "이 웹훅의 이름" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "활성" @@ -1686,7 +1690,7 @@ msgstr "활성" msgid "Is this webhook active" msgstr "이 웹훅이 활성 상태인가요" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "토큰" @@ -1756,7 +1760,7 @@ msgstr "제목" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "이 매개변수에 대한 유효한 선택지(쉼표로 구분)" msgid "Selection list for this parameter" msgstr "이 매개변수의 선택 목록" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "사용" @@ -2204,8 +2208,8 @@ msgstr "모델 ID" msgid "ID of the target model for this parameter" msgstr "이 매개변수의 대상 모델 ID" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "템플릿" @@ -2262,7 +2266,7 @@ msgstr "바코드 스캔 날짜 및 시간" msgid "URL endpoint which processed the barcode" msgstr "바코드를 처리한 URL 엔드포인트" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "컨텍스트" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "이메일 스레드" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "키" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} 취소됨" msgid "A order that is assigned to you was canceled" msgstr "귀하에게 할당된 주문이 취소되었습니다" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "항목 수령됨" @@ -2524,7 +2528,7 @@ msgstr "파일명" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "모델 유형" @@ -2914,8 +2918,8 @@ msgstr "부품은 기본적으로 템플릿입니다" msgid "Parts can be assembled from other components by default" msgstr "부품은 기본적으로 다른 구성요소로 조립할 수 있습니다" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "구성요소" @@ -2931,7 +2935,7 @@ msgstr "구매 가능" msgid "Parts are purchaseable by default" msgstr "부품은 기본적으로 구매 가능합니다" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "판매 가능" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "보고서 생성 중 발생하는 오류를 기록합니다" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "페이지 크기" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "모든 모델" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "첨부 모델 유형이 제공되지 않았습니다" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "잘못된 첨부 모델 유형입니다" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "최소 자리수는 최대 자리수보다 클 수 없습니다" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "최대 자리수는 최소 자리수보다 작을 수 없습니다" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "빈 도메인은 허용되지 않습니다." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "잘못된 도메인 이름: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "값은 대문자여야 합니다" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "값은 유효한 변수 식별자여야 합니다" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "공급업체가 활성화됨" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "제조사" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "회사" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "연락처 이메일 주소" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "담당자" @@ -4297,7 +4301,7 @@ msgstr "세금 ID" msgid "Company Tax ID" msgstr "회사 세금 ID" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "주소" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "주소 정보 링크(외부)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "제조사 부품" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "제조사 선택" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "MPN" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "연결된 제조사 부품은 동일한 기본 부품을 참조해야 합니다" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "공급업체" @@ -4448,7 +4452,7 @@ msgstr "공급업체" msgid "Select supplier" msgstr "공급업체 선택" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "공급업체 SKU" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "최소 요금(예: 보관 수수료)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "포장" @@ -4533,7 +4537,7 @@ msgstr "이 공급업체에서 사용하는 기본 통화" msgid "Company Name" msgstr "회사명" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "재고 있음" @@ -4722,7 +4726,7 @@ msgstr "원본 행 데이터" msgid "Errors" msgstr "오류" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "유효" @@ -4838,7 +4842,7 @@ msgstr "각 라벨에 대해 인쇄할 복사본 수" msgid "Connected" msgstr "연결됨" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "알 수 없음" @@ -4942,7 +4946,7 @@ msgstr "속성 키" msgid "Value of the property" msgstr "속성 값" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "그룹" @@ -4966,118 +4970,118 @@ msgstr "최대 진행도" msgid "Maximum value for progress type, required if type=progress" msgstr "진행도 유형의 최대값( type=progress 인 경우 필수)" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "주문 참조" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "미결" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "프로젝트 코드 있음" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "생성자" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "이전 생성" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "이후 생성" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "시작일 있음" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "시작일 이전" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "시작일 이후" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "목표일 있음" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "목표일 이전" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "목표일 이후" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "이전 업데이트" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "이후 업데이트" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "가격 정보 있음" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "완료일 이전" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "완료일 이후" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "외주 생산 작업 지시서" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "주문" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "주문 완료" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "내부 부품" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "주문 대기" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "완료됨" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "배송 있음" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "배송을 찾을 수 없습니다" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "구매 주문" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "구매 주문" msgid "Sales Order" msgstr "판매 주문" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "반품 주문" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "주소가 선택한 회사와 일치하지 않습니다" msgid "Order description (optional)" msgstr "주문 설명(선택 사항)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "이 주문의 프로젝트 코드를 선택하세요" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "외부 페이지 링크" @@ -5151,7 +5155,7 @@ msgstr "시작일" msgid "Scheduled start date for this order" msgstr "이 주문의 예정 시작일" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "목표일" @@ -5184,487 +5188,487 @@ msgstr "이 주문의 연락 담당자" msgid "Company address for this order" msgstr "이 주문의 회사 주소" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "주문 참조" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "상태" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "구매 주문 상태" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "품목을 주문하는 공급업체" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "공급업체 참조" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "공급업체 주문 참조 코드" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "수령자" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "주문이 완료된 날짜" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "목적지" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "수령된 품목의 목적지" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "부품 공급업체는 구매 주문 공급업체와 일치해야 합니다" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "라인 항목이 구매 주문과 일치하지 않습니다" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "라인 항목에 연결된 부품이 없습니다" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "수량은 양수여야 합니다" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "가상 부품에는 일련번호를 할당할 수 없습니다" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "고객" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "품목을 판매하는 대상 회사" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "판매 주문 상태" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "고객 참조" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "고객 주문 참조 코드" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "발송일" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "발송자" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "주문이 이미 완료되었습니다" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "주문이 이미 취소되었습니다" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "열린 주문만 완료로 표시할 수 있습니다" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "미완료 발송이 있어 주문을 완료할 수 없습니다" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "미완료 할당이 있어 주문을 완료할 수 없습니다" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "미완료 라인 항목이 있어 주문을 완료할 수 없습니다" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "이 주문은 잠겨 있어 수정할 수 없습니다" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "품목 수량" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "라인 번호" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "이 항목의 라인 번호(선택)" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "라인 항목 참조" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "라인 항목 메모" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "이 라인 항목의 목표일(비워 두면 주문의 목표일을 사용)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "라인 항목 설명(선택)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "이 라인의 추가 정보" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "단가" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "구매 주문 라인 항목" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "공급업체 부품은 공급업체와 일치해야 합니다" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "빌드 주문은 외부로 표시되어야 합니다" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "빌드 주문은 조립 부품에만 연결할 수 있습니다" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "빌드 주문 부품은 라인 항목 부품과 일치해야 합니다" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "공급업체 부품" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "수령됨" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "수령된 품목 수" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "구매 가격" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "단위 구매 가격" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "이 라인 항목으로 이행할 외주 생산 작업 지시서" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "구매 주문 추가 라인" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "판매 주문 라인 항목" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "판매 가능한 부품만 판매 주문에 할당할 수 있습니다" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "판매 가격" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "단위 판매 가격" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "발송됨" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "발송 수량" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "판매 주문 발송" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "발송 주소는 고객과 일치해야 합니다" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "이 발송의 배송지 주소" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "발송 날짜" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "배송일" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "발송물 배송 날짜" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "확인자" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "이 발송을 확인한 사용자" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "발송" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "발송 번호" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "운송장 번호" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "발송 추적 정보" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "송장 번호" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "연결된 송장의 참조 번호" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "발송이 이미 전송되었습니다" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "발송에 할당된 재고 품목이 없습니다" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "발송은 완료하기 전에 확인되어야 합니다" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "판매 주문 추가 라인" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "판매 주문 할당" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "재고 품목이 할당되지 않았습니다" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "부품이 다른 라인에 재고 품목을 할당할 수 없습니다" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "부품이 없는 라인에는 재고를 할당할 수 없습니다" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "할당 수량은 재고 수량을 초과할 수 없습니다" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "할당 수량은 0보다 커야 합니다" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "일련번호가 있는 재고 품목의 수량은 1이어야 합니다" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "판매 주문이 발송과 일치하지 않습니다" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "발송이 판매 주문과 일치하지 않습니다" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "라인" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "판매 주문 발송 참조" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "품목" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "할당할 재고 품목을 선택하세요" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "재고 할당 수량을 입력하세요" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "반품 주문 참조" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "품목이 반품되는 회사" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "반품 주문 상태" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "반품 주문 라인 항목" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "재고 품목을 지정해야 합니다" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "반품 수량이 재고 수량을 초과합니다" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "반품 수량은 0보다 커야 합니다" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "일련번호가 있는 재고 품목에 대한 수량이 올바르지 않습니다" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "고객에게서 반품받을 품목을 선택하세요" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "수령일" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "이 반품 품목을 수령한 날짜" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "결과" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "이 라인 항목의 결과" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "이 라인 항목의 반품 또는 수리에 관련된 비용" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "반품 주문 추가 라인" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "추가 라인 복사" msgid "Copy extra line items from the original order" msgstr "원본 주문에서 추가 라인 항목을 복사" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "매개변수 복사" @@ -5784,11 +5788,11 @@ msgstr "항목 병합" msgid "Merge items with the same part, destination and target date into one line item" msgstr "부품, 목적지, 목표일이 같은 항목을 하나의 라인 항목으로 병합" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "SKU" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "내부 부품 번호" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "입고 재고 품목의 배치 코드를 입력하세요" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "만료일" @@ -6056,123 +6060,131 @@ msgstr "기한 초과 반품 주문" msgid "Return order {ro} is now overdue" msgstr "반품 주문 {ro}가 이제 기한을 초과했습니다" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "즐겨찾기" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "즐겨찾기 카테고리로 필터" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "깊이" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "카테고리 깊이로 필터" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "최상위" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "최상위 카테고리로 필터" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "계층 포함" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "필터 결과에 하위 카테고리를 포함" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "상위" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "상위 카테고리로 필터" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "지정된 카테고리 아래의 하위 카테고리를 제외" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "결과 있음" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "변형 여부" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "리비전 여부" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "리비전 있음" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "BOM 유효" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "카테고리 계층 포함" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "참이면 지정된 카테고리의 하위 카테고리에 있는 항목을 포함합니다" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "숫자 카테고리 ID 또는 'null' 값으로 필터" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "조립 부품이 활성 상태" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "조립 부품을 추적할 수 있음" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "조립 부품을 테스트할 수 있음" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "구성 부품이 활성 상태" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "구성 부품을 추적할 수 있음" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "구성 부품을 테스트할 수 있음" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "구성 부품이 조립품임" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "구성 부품이 가상 부품임" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "사용 가능한 재고 있음" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "사용" @@ -6213,7 +6225,7 @@ msgstr "이 카테고리의 부품 기본 키워드" msgid "Icon" msgstr "아이콘" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "아이콘(선택)" @@ -6349,7 +6361,7 @@ msgstr "검색 결과에서 가시성을 높이기 위한 부품 키워드" msgid "Part category" msgstr "부품 카테고리" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6358,7 +6370,7 @@ msgstr "IPN" msgid "Part revision or version number" msgstr "부품 개정 또는 버전 번호" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "개정" @@ -6382,7 +6394,7 @@ msgstr "기본 만료" msgid "Expiry time (in days) for stock items of this part" msgstr "이 부품의 재고 항목 만료 기간(일)" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "최소 재고" @@ -6390,7 +6402,7 @@ msgstr "최소 재고" msgid "Minimum allowed stock level" msgstr "허용되는 최소 재고 수준" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "하위 부품" msgid "Select part to be used in BOM" msgstr "BOM에 사용할 부품을 선택하세요" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "상위 카테고리" msgid "Parent part category" msgstr "상위 부품 카테고리" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "하위 카테고리" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "결과" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "이 템플릿에 대해 기록된 결과 수" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "이 재고 항목의 구매 통화" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "파일이 이미지가 아닙니다" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "원본 부품" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "복제할 원본 부품을 선택하세요" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "이미지 복사" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "원본 부품의 이미지를 복사합니다" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "BOM 복사" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "원본 부품의 자재 명세서(BOM)를 복사합니다" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "원본 부품의 매개변수 데이터를 복사합니다" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "메모 복사" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "원본 부품의 메모를 복사합니다" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "테스트 복사" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "원본 부품의 테스트 템플릿을 복사합니다" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "초기 재고 수량" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "이 부품의 초기 재고 수량을 지정하세요. 수량이 0이면 재고가 추가되지 않습니다." -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "초기 재고 위치" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "이 부품의 초기 재고 위치를 지정하세요" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "공급업체를 선택하세요(또는 비워 두고 건너뛰기)" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "제조사를 선택하세요(또는 비워 두고 건너뛰기)" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "제조사 부품 번호" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "선택한 회사는 유효한 공급업체가 아닙니다" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "선택한 회사는 유효한 제조사가 아닙니다" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "이 MPN과 일치하는 제조사 부품이 이미 존재합니다" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "이 SKU와 일치하는 공급업체 부품이 이미 존재합니다" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "카테고리 이름" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "제작 중" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "현재 생산 중인 이 부품의 수량" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "제작 예정인 이 부품의 미완료 수량" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "재고 항목" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "개정" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "총 재고" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "미할당 재고" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "변형 재고" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "부품 복제" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "다른 부품에서 초기 데이터를 복사합니다" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "초기 재고" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "초기 재고 수량과 함께 부품을 생성합니다" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "공급업체 정보" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "이 부품에 대한 초기 공급업체 정보를 추가합니다" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "카테고리 매개변수 복사" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "선택한 부품 카테고리의 매개변수 템플릿을 복사합니다" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "기존 이미지" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "기존 부품 이미지의 파일명" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "이미지 파일이 존재하지 않습니다" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "전체 자재 명세서(BOM) 검증" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "제작 가능" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "제작 주문에 필요" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "제작 주문에 할당됨" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "판매 주문에 필요" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "판매 주문에 할당됨" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "부품 IPN" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "부품 설명" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "재고 조사 정보를 생성할 부품을 선택하세요(및 모든 변형 부품)." -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "해당 카테고리(및 하위 카테고리)의 모든 부품을 포함할 카테고리를 선택하세요" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "해당 위치(하위 위치 포함)에 재고가 있는 모든 부품을 포함할 위치를 선택하세요" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "재고 조사 항목 생성" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "선택한 부품에 대한 재고 조사 항목을 저장합니다" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "보고서 생성" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "선택한 부품에 대한 재고 조사 보고서를 생성합니다" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "최소 가격" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "계산된 최소 가격 값을 재정의합니다" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "최소 가격 통화" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "최대 가격" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "계산된 최대 가격 값을 재정의합니다" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "최대 가격 통화" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "업데이트" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "이 부품의 가격 정보를 업데이트합니다" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "제공된 통화를 {default_currency}(으)로 변환할 수 없습니다" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "최소 가격은 최대 가격보다 클 수 없습니다" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "최대 가격은 최소 가격보다 작을 수 없습니다" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "상위 조립품을 선택하세요" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "구성 부품을 선택하세요" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "BOM을 복사할 부품을 선택하세요" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "기존 데이터 제거" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "복사하기 전에 기존 BOM 항목을 제거합니다" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "상속 항목 포함" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "템플릿 부품에서 상속된 BOM 항목 포함" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "잘못된 행 건너뛰기" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "이 옵션을 사용하면 잘못된 행을 건너뜁니다" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "대체 부품 복사" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "BOM 항목을 복제할 때 대체 부품도 복사" @@ -7326,91 +7338,91 @@ msgstr "작업이 지정되지 않았습니다" msgid "No matching action found" msgstr "일치하는 작업을 찾을 수 없습니다" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "바코드 데이터와 일치하는 항목을 찾을 수 없습니다" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "바코드 데이터와 일치하는 항목을 찾았습니다" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "지원되지 않는 모델입니다" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "모델 인스턴스를 찾을 수 없습니다" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "바코드가 기존 항목과 일치합니다" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "일치하는 부품 데이터를 찾을 수 없습니다" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "일치하는 공급업체 부품을 찾을 수 없습니다" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "일치하는 공급업체 부품이 여러 개 있습니다" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "바코드 데이터에 일치하는 플러그인을 찾을 수 없습니다" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "공급업체 부품과 일치함" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "항목이 이미 입고되었습니다" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "공급업체 바코드에 일치하는 플러그인이 없습니다" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "일치하는 라인 항목이 여러 개 있습니다" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "일치하는 라인 항목을 찾을 수 없습니다" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "판매 주문이 제공되지 않았습니다" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "바코드가 기존 재고 항목과 일치하지 않습니다" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "재고 항목이 라인 항목과 일치하지 않습니다" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "사용 가능한 재고가 부족합니다" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "재고 항목이 판매 주문에 할당되었습니다" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "정보가 충분하지 않습니다" @@ -7992,7 +8004,7 @@ msgstr "테두리" msgid "Print a border around each label" msgstr "각 라벨 주위에 테두리를 인쇄합니다" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "가로" @@ -8481,136 +8493,136 @@ msgstr "Legal" msgid "Letter" msgstr "Letter" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "이 이름의 템플릿 파일이 이미 존재합니다" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "템플릿 이름" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "템플릿 설명" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "리비전 번호(자동 증가)" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "인쇄 시 모델에 첨부" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "인쇄 시 보고서 출력물을 연결된 모델 인스턴스에 첨부파일로 저장합니다" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "파일명 패턴" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "파일명을 생성하기 위한 패턴" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "템플릿이 활성화됨" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "템플릿 대상 모델 유형" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "필터" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "템플릿 쿼리 필터(쉼표로 구분된 key=value 쌍 목록)" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "템플릿 파일" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "PDF 보고서 페이지 크기" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "보고서를 가로 방향으로 렌더링" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "병합" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "선택한 항목에 대해 단일 보고서를 렌더링합니다" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "템플릿 {self.name}에서 생성된 보고서" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "템플릿 구문 오류" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "보고서 렌더링 오류" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "보고서 생성 오류" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "보고서 출력 병합 오류" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "너비 [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "라벨 너비(mm)" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "높이 [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "라벨 높이(mm)" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "라벨 인쇄 오류" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "스니펫" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "보고서 스니펫 파일" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "스니펫 파일 설명" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "자산" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "보고서 자산 파일" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "자산 파일 설명" @@ -8766,200 +8778,200 @@ msgstr "결과 없음" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "잘못된 미디어 파일 경로" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "잘못된 정적 파일 경로" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "자산 파일을 찾을 수 없습니다" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "이미지 파일을 찾을 수 없습니다" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "이미지 파일이 지정되지 않았습니다" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "part_image 태그에는 Part 인스턴스가 필요합니다" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "company_image 태그에는 Company 인스턴스가 필요합니다" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "위치 깊이로 필터" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "최상위 위치로 필터" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "필터 결과에 하위 위치를 포함합니다" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "상위 위치" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "상위 위치로 필터" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "부품명(대소문자 구분 없음)" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "부품명 포함(대소문자 구분 없음)" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "부품명(정규식)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "부품 IPN(대소문자 구분 없음)" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "부품 IPN 포함(대소문자 구분 없음)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "부품 IPN(정규식)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "최소 재고" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "최대 재고" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "상태 코드" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "외부 위치" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "작업 지시서에서 소비됨" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "다른 재고 품목에 설치됨" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "부품 트리" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "업데이트 날짜 이전" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "업데이트 날짜 이후" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "재고조사 날짜 이전" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "재고조사 날짜 이후" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "유효기간 날짜 이전" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "유효기간 날짜 이후" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "장기 재고" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "제외할 재고 품목 PK를 제공하면 해당 품목과 모든 하위 항목을 제외합니다" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "위치 계단식 적용" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "true이면 지정한 위치의 하위 위치에 있는 항목을 포함합니다" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "숫자 Location ID 또는 'null' 리터럴로 필터" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "수량이 필요합니다" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "유효한 부품을 제공해야 합니다" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "지정한 공급업체 부품이 존재하지 않습니다" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "공급업체 부품에 포장 단위가 정의되어 있지만 use_pack_size 플래그가 설정되지 않았습니다" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "추적 불가능한 부품에는 시리얼 번호를 제공할 수 없습니다" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "설치된 항목 포함" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "true이면 지정한 재고 품목 아래에 설치된 항목의 테스트 결과를 포함합니다" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "숫자 재고 품목 ID로 필터" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "ID가 {id}인 재고 품목이 존재하지 않습니다" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "부품 변형 포함" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "날짜 이후" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "날짜 이전" @@ -8995,7 +9007,7 @@ msgstr "소유자 선택" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "재고 품목은 구조적 재고 위치에 직접 배치할 수 없으며, 하위 위치에 배치할 수 있습니다." -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "외부" @@ -9101,7 +9113,7 @@ msgstr "이 재고 품목에 맞는 공급업체 부품을 선택하세요" msgid "Where is this stock item located?" msgstr "이 재고 품목은 어디에 있습니까?" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "이 재고 품목이 보관된 포장재" @@ -9117,7 +9129,7 @@ msgstr "이 항목이 다른 항목에 설치되어 있습니까?" msgid "Serial number for this item" msgstr "이 항목의 시리얼 번호" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "이 재고 품목의 배치 코드" @@ -9234,7 +9246,7 @@ msgstr "재고 품목이 현재 생산 중입니다" msgid "Serialized stock cannot be merged" msgstr "시리얼 추적 재고는 병합할 수 없습니다" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "중복 재고 품목" @@ -9398,7 +9410,7 @@ msgstr "새 항목의 일련 번호를 입력하세요" msgid "Supplier Part Number" msgstr "공급업체 부품 번호" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "만료됨" @@ -9428,8 +9440,8 @@ msgstr "재고 항목이 제공되지 않았습니다" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "수량은 사용 가능한 재고 수량({q})을(를) 초과할 수 없습니다" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "대상 재고 위치" @@ -9501,127 +9513,127 @@ msgstr "상태를 변경할 재고 항목을 선택하세요" msgid "No stock items selected" msgstr "선택된 재고 항목이 없습니다" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "하위 위치" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "상위 재고 위치" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "부품은 판매 가능해야 합니다" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "항목이 판매 주문에 할당되어 있습니다" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "항목이 제조 주문에 할당되어 있습니다" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "재고 항목을 할당할 고객" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "선택한 회사는 고객이 아닙니다" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "재고 할당 메모" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "재고 항목 목록을 제공해야 합니다" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "재고 병합 메모" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "공급업체 불일치 허용" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "공급업체 부품이 다른 재고 항목의 병합을 허용합니다" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "상태 불일치 허용" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "상태 코드가 다른 재고 항목의 병합을 허용합니다" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "최소 두 개의 재고 항목을 제공해야 합니다" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "변경 없음" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "재고 항목 기본 키 값" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "재고 항목이 재고에 없습니다" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "재고 항목이 이미 재고에 있습니다" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "수량은 음수일 수 없습니다" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "재고 거래 메모" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "기존 재고로 병합" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "가능하면 반품된 항목을 기존 재고 항목에 병합합니다" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "다음 일련 번호" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "이전 일련 번호" @@ -9919,7 +9931,7 @@ msgstr "권한" msgid "Important dates" msgstr "중요 날짜" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "토큰이 취소되었습니다" @@ -9927,163 +9939,163 @@ msgstr "토큰이 취소되었습니다" msgid "Token has expired" msgstr "토큰이 만료되었습니다" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "API 토큰" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "API 토큰" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "토큰 이름" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "사용자 지정 토큰 이름" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "토큰 만료일" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "마지막 사용" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "토큰이 마지막으로 사용된 시간" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "취소됨" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "권한 세트" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "보기" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "항목을 볼 권한" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "추가" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "항목을 추가할 권한" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "변경" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "항목을 수정할 권한" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "삭제" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "항목을 삭제할 권한" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "봇" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "내부" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "게스트" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "언어" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "사용자의 선호 언어" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "테마" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "웹 UI 설정(JSON) - 수동으로 편집하지 마세요!" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "위젯" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "대시보드 위젯 설정(JSON) - 수동으로 편집하지 마세요!" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "표시 이름" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "사용자가 선택한 표시 이름" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "직책" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "주요 직함 또는 직책" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "사용자 상태 메시지" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "사용자 위치 정보" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "사용자가 시스템을 사용 중입니다" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "사용자가 선호하는 연락처 정보" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "사용자 유형" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "어떤 유형의 사용자입니까?" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "조직" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "사용자의 기본 조직/소속" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "기본 그룹" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "사용자의 기본 그룹" diff --git a/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po index 4cc332cf7d..5aa37f323a 100644 --- a/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Lithuanian\n" "Language: lt_LT\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API galinis taškas nerastas" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Elementai turi būti pateikti kaip sąrašas" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Pateiktas neteisingas elementų sąrašas" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "Filtras „all“ gali būti naudojamas tik su reikšme „true“" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "Nė vienas elementas neatitinka pateiktų kriterijų" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Vartotojas neturi teisių peržiūrėti šio modelio" @@ -65,11 +65,11 @@ msgstr "El. pašto adreso patvirtinimas" msgid "You must type the same email each time." msgstr "Kiekvieną kartą turite įvesti tą patį el. pašto adresą." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Pateiktas pagrindinis el. pašto adresas neteisingas." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Pateiktas el. pašto domenas nepatvirtintas." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Nepavyko konvertuoti {original} į {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Pateiktas neteisingas kiekis" @@ -105,22 +105,22 @@ msgstr "Įveskite datą" msgid "Invalid decimal value" msgstr "Neteisinga dešimtainė reikšmė" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Pastabos" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Reikšmė „{name}“ neatitinka šablono formato" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Pateikta reikšmė neatitinka reikalaujamo šablono: " @@ -164,51 +164,51 @@ msgstr "Pašalinkite HTML žymes iš šios reikšmės" msgid "Data contains prohibited markdown content" msgstr "Duomenyse yra draudžiamo „markdown“ turinio" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Ryšio klaida" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Serveris grąžino netinkamą būsenos kodą" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Įvyko išimtis" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Serveris grąžino neteisingą „Content-Length“ reikšmę" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Paveikslėlio dydis per didelis" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Paveikslėlio atsisiuntimas viršijo maksimalų leistiną dydį" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Nutolęs serveris grąžino tuščią atsakymą" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "Nurodytas URL nėra tinkamas paveikslėlio failas" @@ -220,117 +220,121 @@ msgstr "Prisijungti prie programos" msgid "Email" msgstr "El. paštas" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Prieš atliekant bet kokius veiksmus, privalote įjungti dviejų veiksnių autentifikavimą." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Klaida vykdant įskiepio patvirtinimą" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metaduomenys turi būti „Python“ žodyno tipo objektas" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Įskiepio metaduomenys" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "JSON metaduomenų laukas, skirtas naudoti išoriniams įskiepiams" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Netinkamai suformuotas šablonas" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Nurodytas nežinomas formato raktas" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Trūksta būtino formato rakto" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "\"Nuorodos laukas negali būti tuščias" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Nuoroda turi atitikti reikalaujamą šabloną" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Nuorodos numeris per didelis" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Neteisingas pasirinkimas" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Pavadinimas" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Aprašymas" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Aprašymas (neprivalomas)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Kelias" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Po tuo pačiu pirminiu elementu negali būti pasikartojančių pavadinimų" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Pastabos su „Markdown“ (neprivalomas)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Brūkšninio kodo duomenys" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Trečiosios šalies brūkšninio kodo duomenys" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Brūkšninio kodo maiša" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Unikali brūkšninio kodo duomenų maiša\"" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Rastas esamas brūkšninis kodas" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Serverio klaida" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Serveris užfiksavo klaidą." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Turi būti teisingas skaičius" msgid "Currency" msgstr "Valiuta" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Pasirinkite valiutą iš galimų variantų" @@ -521,11 +525,11 @@ msgstr "Kinų (supaprastinta)" msgid "Chinese (Traditional)" msgstr "Kinų (tradicinė)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "Neteisingas fizinis vienetas" msgid "Not a valid currency code" msgstr "Netinkamas valiutos kodas" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Užsakymo būsena" @@ -546,23 +550,23 @@ msgstr "Užsakymo būsena" msgid "Parent Build" msgstr "Pirminė gamyba" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "Įtraukti variantus" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "Įtraukti variantus" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "Įtraukti variantus" msgid "Part" msgstr "Detalė" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Kategorija" @@ -593,7 +597,7 @@ msgstr "Kategorija" msgid "Ancestor Build" msgstr "Ankstesnė gamyba" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Priskirta man" @@ -601,11 +605,11 @@ msgstr "Priskirta man" msgid "Assigned To" msgstr "Priskirta" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Sukurta prieš" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Sukurta po" @@ -641,99 +645,99 @@ msgstr "Užbaigta prieš" msgid "Completed after" msgstr "Užbaigta po" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "Minimali data" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "Maksimali data" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "Neįtraukti medžio struktūros" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Prieš ištrinant gamybą, ji turi būti atšaukta" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Sunaudojama" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Pasirinktinai" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Surinkimas" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Sekama" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Testuojama" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Liko neįvykdytų užsakymų" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Priskirta" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Prieinama" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "Užsakyta" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Gamybos užsakymas" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Vieta" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "Tikslinė data turi būti po pradžios datos" msgid "Build Order Reference" msgstr "Gamybos užsakymo nuoroda" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Pardavimo užsakymo nuoroda" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Šaltinio vieta" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Paskirties vieta" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Gamybos būsenos kodas" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Partijos kodas" @@ -883,8 +887,8 @@ msgstr "Tikslinė užbaigimo data" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Planuojama gamybos pabaigos data. Po šios datos gamyba bus pavėluota." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Užbaigimo data" @@ -900,7 +904,7 @@ msgstr "Išdavė" msgid "User who issued this build order" msgstr "Vartotojas, kuris išdavė šį gamybos užsakymą" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Šio gamybos užsakymo prioritetas" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Projekto kodas" @@ -962,9 +966,9 @@ msgstr "Gamybos rezultatas neatitinka gamybos užsakymo" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "Kiekis turi būti didesnis nei nulis" @@ -999,7 +1003,7 @@ msgstr "Gamybos objektas" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Atsargoms su serijos numeriais kiekis turi būti 1" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Priskirtas kiekis ({q}) negali viršyti galimo atsargų kiekio ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Atsargų elementas per daug paskirstytas" @@ -1057,8 +1061,8 @@ msgstr "Atsargų elementas per daug paskirstytas" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Atsargų elementas" @@ -1082,7 +1086,7 @@ msgstr "Paskirties atsargų elementas" msgid "Build Level" msgstr "Gamybos lygis" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Detalės pavadinimas" @@ -1139,7 +1143,7 @@ msgstr "Automatiškai priskirti serijos numerius" msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatiškai priskirti reikalingas prekes su atitinkančiais serijos numeriais" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "Šie serijos numeriai jau egzistuoja arba yra neteisingi" @@ -1272,7 +1276,7 @@ msgstr "Gamybos eilutės įrašas" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part turi būti ta pati detalė kaip ir gamybos užsakyme" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "Prekė turi būti atsargose" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "Gamyba" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Tiekėjo detalė" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Leisti variantus" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "BOM elementas" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "Gamyboje" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Išorinės atsargos" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Prieinamos atsargos" @@ -1527,31 +1531,31 @@ msgstr "Vėluojantis gamybos užsakymas" msgid "Build order {bo} is now overdue" msgstr "Gamybos užsakymas {bo} dabar vėluoja" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "Yra nuoroda" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "Yra failas" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "Vartotojas neturi teisės ištrinti šių priedų" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "Vartotojas neturi teisės ištrinti šio priedo" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "Pasirinkimų sąrašas yra užrakintas" @@ -1571,8 +1575,8 @@ msgstr "Nepateikta jokių galiojančių valiutos kodų" msgid "No plugin" msgstr "Nėra papildinio" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "Raktas turi būti unikalus" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Vartotojas" @@ -1654,8 +1658,8 @@ msgstr "Vartotojas" msgid "Price break quantity" msgstr "Kiekio ribinis taškas kainai" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Kaina" @@ -1677,8 +1681,8 @@ msgstr "Šio webhook'o pavadinimas" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktyvus" @@ -1686,7 +1690,7 @@ msgstr "Aktyvus" msgid "Is this webhook active" msgstr "Ar šis webhook'as aktyvus" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Raktas" @@ -1756,7 +1760,7 @@ msgstr "Pavadinimas" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "Galimi pasirinkimai šiam parametrui (atskirti kableliais)" msgid "Selection list for this parameter" msgstr "Pasirinkimų sąrašas šiam parametrui" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Įjungta" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Šablonas" @@ -2262,7 +2266,7 @@ msgstr "Brūkšninio kodo nuskaitymo data ir laikas" msgid "URL endpoint which processed the barcode" msgstr "URL galutinis taškas, kuris apdorojo brūkšninį kodą" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Kontekstas" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Raktas" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} atšaukta" msgid "A order that is assigned to you was canceled" msgstr "Užsakymas, kuris buvo jums priskirtas, buvo atšauktas" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Gautos prekės" @@ -2524,7 +2528,7 @@ msgstr "Failo pavadinimas" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "Modelio tipas" @@ -2914,8 +2918,8 @@ msgstr "Detalės pagal nutylėjimą yra šablonai" msgid "Parts can be assembled from other components by default" msgstr "Detalės pagal nutylėjimą gali būti surenkamos iš kitų komponentų" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Komponentas" @@ -2931,7 +2935,7 @@ msgstr "Galima įsigyti" msgid "Parts are purchaseable by default" msgstr "Detalės pagal nutylėjimą gali būti įsigyjamos" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Parduodama" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "Registruoti klaidas, įvykusias generuojant ataskaitas" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Puslapio dydis" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "Nepateiktas priedų modelio tipas" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "Neteisingas priedų modelio tipas" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "Mažiausias vietų skaičius negali būti didesnis nei didžiausias" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "Didžiausias vietų skaičius negali būti mažesnis nei mažiausias" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Tuščias domenas neleidžiamas." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Neteisingas domeno pavadinimas: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "Reikšmė turi būti didžiosiomis raidėmis" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "Reikšmė turi būti galiojantis kintamojo identifikatorius" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "Tiekėjas yra aktyvus" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Gamintojas" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Įmonė" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Kontaktinis el. pašto adresas" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Kontaktinis asmuo" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Adresas" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "Nuoroda į adreso informaciją (išorinė)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Gamintojo detalė" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Pasirinkite gamintoją" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "MPN" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Susieta gamintojo detalė turi nurodyti tą pačią pagrindinę detalę" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Tiekėjas" @@ -4448,7 +4452,7 @@ msgstr "Tiekėjas" msgid "Select supplier" msgstr "Pasirinkite tiekėją" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Tiekėjo sandėlio numeris (SKU)" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimalus mokestis (pvz., sandėliavimo mokestis)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Pakuotė" @@ -4533,7 +4537,7 @@ msgstr "Numatytoji valiuta, naudojama šiam tiekėjui" msgid "Company Name" msgstr "Įmonės pavadinimas" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "Sandėlyje" @@ -4722,7 +4726,7 @@ msgstr "Pradiniai eilutės duomenys" msgid "Errors" msgstr "Klaidos" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Galiojantis" @@ -4838,7 +4842,7 @@ msgstr "Etiketės spausdinamų kopijų skaičius" msgid "Connected" msgstr "Prijungta" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Nežinoma" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Grupė" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Užsakymo nuoroda" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "Neįvykdyta" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "Turi projekto kodą" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Sukūrė" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "Sukurta prieš" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "Sukurta po" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "Turi pradžios datą" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "Pradžios data prieš" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "Pradžios data po" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "Turi tikslinę datą" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "Tikslinė data prieš" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "Tikslinė data po" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "Turi kainodarą" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "Užbaigta prieš" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "Užbaigta po" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Užsakymas" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "Užsakymas įvykdytas" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Vidinė detalė" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "Užsakymas laukia vykdymo" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Užbaigta" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "Turi siuntą" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Pirkimo užsakymas" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Pirkimo užsakymas" msgid "Sales Order" msgstr "Pardavimo užsakymas" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Grąžinimo užsakymas" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "Užsakymo aprašymas (neprivalomas)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Pasirinkite projekto kodą šiam užsakymui" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Nuoroda į išorinį puslapį" @@ -5151,7 +5155,7 @@ msgstr "Pradžios data" msgid "Scheduled start date for this order" msgstr "Numatyta pradžios data šiam užsakymui" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Tikslinė data" @@ -5184,487 +5188,487 @@ msgstr "Kontaktinis asmuo šiam užsakymui" msgid "Company address for this order" msgstr "Įmonės adresas šiam užsakymui" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Užsakymo nuoroda" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Būsena" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Pirkimo užsakymo būsena" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Įmonė, iš kurios užsakomos prekės" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Tiekėjo nuoroda" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Tiekėjo užsakymo nuorodos kodas" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "gavo" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "Data, kada užsakymas buvo užbaigtas" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Paskirties vieta" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "Paskirties vieta gautoms prekėms" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "Detalių tiekėjas turi atitikti pirkimo užsakymo tiekėją" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "Eilutės įrašas neatitinka pirkimo užsakymo" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "Kiekis turi būti teigiamas skaičius" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Klientas" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Įmonė, kuriai prekės parduodamos" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "Pardavimo užsakymo būsena" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Kliento nuoroda" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Kliento užsakymo nuorodos kodas" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Siuntos data" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "išsiuntė" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "Užsakymas jau baigtas" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "Užsakymas jau atšauktas" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Tik atviras užsakymas gali būti pažymėtas kaip užbaigtas" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Užsakymas negali būti užbaigtas, nes yra neišsiųstų siuntų" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "Užsakymas negali būti užbaigtas, nes yra nepriskirtų prekių" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "Užsakymas negali būti užbaigtas, nes yra neužbaigtų eilučių" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "Užsakymas užrakintas ir negali būti keičiamas" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Prekės kiekis" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Eilutės įrašo nuoroda" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Eilutės įrašo pastabos" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Tikslinė šio eilutės įrašo data (palikite tuščią, jei norite naudoti užsakymo tikslinę datą)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Eilutės įrašo aprašymas (neprivalomas)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "Papildomas kontekstas šiai eilutei" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Vieneto kaina" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "Pirkimo užsakymo eilutės įrašas" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "Tiekėjo detalė turi atitikti tiekėją" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Tiekėjo detalė" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Gauta" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Gautų prekių kiekis" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Pirkimo kaina" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Vieneto pirkimo kaina" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "Pirkimo užsakymo papildoma eilutė" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "Pardavimo užsakymo eilutės įrašas" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "Tik parduodamos detalės gali būti priskirtos pardavimo užsakymui" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Pardavimo kaina" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Vieneto pardavimo kaina" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Išsiųsta" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Išsiųstas kiekis" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "Pardavimo užsakymo siunta" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Siuntos data" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Pristatymo data" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Siuntos pristatymo data" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Patikrino" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Vartotojas, patikrinęs šią siuntą" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Siunta" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Siuntos numeris" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Sekimo numeris" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Siuntos sekimo informacija" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Sąskaitos faktūros numeris" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Nuorodos numeris susijusiai sąskaitai faktūrai" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "Siunta jau buvo išsiųsta" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "Siunta neturi priskirtų prekių" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "Pardavimo užsakymo papildoma eilutė" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "Pardavimo užsakymo paskirstymas" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "Prekė nėra priskirta" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "Negalima priskirti prekių eilutei su skirtinga detale" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "Negalima priskirti prekių eilutei, jei joje nėra detalės" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Priskiriamas kiekis negali viršyti atsargų kiekio" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Priskirtas kiekis turi būti didesnis nei nulis" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "Kiekis turi būti 1, jei prekė turi serijos numerį" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "Pardavimo užsakymas nesutampa su siunta" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "Siunta nesutampa su pardavimo užsakymu" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Eilutė" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Pardavimo užsakymo siuntos nuoroda" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Prekė" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Pasirinkite atsargų elementą priskyrimui" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Įveskite prekių priskyrimo kiekį" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "Grąžinimo užsakymo nuoroda" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Įmonė, iš kurios grąžinamos prekės" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "Grąžinimo užsakymo būsena" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "Grąžinimo užsakymo eilutės įrašas" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "Turi būti nurodytas atsargų elementas" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "Grąžinamo kiekis viršija prekių kiekį" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "Grąžinamo kiekis turi būti daugiau nei nulis" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "Neteisingas kiekis serijinio numerio prekei" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Pasirinkite prekę grąžinimui iš kliento" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Gavimo data" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Rezultatas" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Rezultatas šiam eilutės įrašui" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Išlaidos, susijusios su šio eilutės įrašo grąžinimu ar remontu" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "Grąžinimo užsakymo papildoma eilutė" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "Kopijuoti papildomas eilutes" msgid "Copy extra line items from the original order" msgstr "Kopijuoti papildomas eilutes iš pradinio užsakymo" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Kopijuoti parametrus" @@ -5784,11 +5788,11 @@ msgstr "Sujungti elementus" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Sujungti elementus su ta pačia detale, paskirtimi ir tiksline data į vieną eilutės įrašą" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "SKU" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Vidinis detalės numeris" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Įveskite partijos kodą gaunamoms atsargoms" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Galiojimo data" @@ -6056,123 +6060,131 @@ msgstr "Vėluojantis grąžinimo užsakymas" msgid "Return order {ro} is now overdue" msgstr "Grąžinimo užsakymas {ro} dabar vėluoja" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "Pažymėta žvaigždute" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "Filtruoti pagal pažymėtas kategorijas" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Gylis" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "Filtruoti pagal kategorijos gylį" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "Aukščiausio lygio" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "Filtruoti pagal aukščiausio lygio kategorijas" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "Kaskada" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "Įtraukti sub-kategorijas į filtravimo rezultatus" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "Pirminė kategorija" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "Filtruoti pagal pirminę kategoriją" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "Neįtraukti sub-kategorijų po nurodyta kategorija" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "Turi rezultatų" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "Yra variantas" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "Yra versija" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "Turi versijų" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "BOM galiojantis" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "Surinkimo detalė gali būti testuojama" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "Komponento detalė gali būti testuojama" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "Naudoja" @@ -6213,7 +6225,7 @@ msgstr "Numatytieji raktažodžiai detalėms šioje kategorijoje" msgid "Icon" msgstr "Piktograma" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Piktograma (neprivaloma)" @@ -6349,7 +6361,7 @@ msgstr "Detalės raktažodžiai, skirti pagerinti matomumą paieškos rezultatuo msgid "Part category" msgstr "Detalės kategorija" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6358,7 +6370,7 @@ msgstr "IPN" msgid "Part revision or version number" msgstr "Detalės versija arba numeris" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Versija" @@ -6382,7 +6394,7 @@ msgstr "Numatytasis galiojimo laikas" msgid "Expiry time (in days) for stock items of this part" msgstr "Šios detalės atsargų galiojimo laikas (dienomis)" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Minimalus atsargų kiekis" @@ -6390,7 +6402,7 @@ msgstr "Minimalus atsargų kiekis" msgid "Minimum allowed stock level" msgstr "Mažiausias leidžiamas atsargų kiekis" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "Pavaldi detalė" msgid "Select part to be used in BOM" msgstr "Pasirinkite detalę, naudojamą BOM" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "Pagrindinė kategorija" msgid "Parent part category" msgstr "Pagrindinė detalių kategorija" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Subkategorijos" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "Rezultatai" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "Rezultatų skaičius, susietas su šiuo šablonu" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Šio atsargų elemento pirkimo valiuta" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "Failas nėra paveikslėlis" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Pradinė detalė" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Pasirinkite pradinę detalę kopijavimui" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Kopijuoti paveikslėlį" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Kopijuoti paveikslėlį iš pradinės detalės" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Kopijuoti BOM" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "Kopijuoti komplektavimo žiniaraštį iš pradinės detalės" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "Kopijuoti parametrų duomenis iš pradinės detalės" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Kopijuoti pastabas" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "Kopijuoti pastabas iš pradinės detalės" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Pradinis atsargų kiekis" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Nurodykite pradinį atsargų kiekį šiai detalei. Jei kiekis nulis - atsargos nebus pridėtos." -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Pradinė atsargų vieta" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Nurodykite pradinę atsargų vietą šiai detalei" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Pasirinkite tiekėją (arba palikite tuščią, jei nenorite nurodyti)" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Pasirinkite gamintoją (arba palikite tuščią, jei nenorite nurodyti)" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Gamintojo detalės numeris" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "Pasirinkta įmonė nėra galiojantis tiekėjas" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "Pasirinkta įmonė nėra galiojantis gamintojas" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "Detalė su šiuo gamintojo numeriu (MPN) jau egzistuoja" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "Tiekėjo detalė su šiuo SKU jau egzistuoja" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Kategorijos pavadinimas" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "Surinkimas" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Atsargos" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "Versijos" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Bendros atsargos" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "Nepriskirtos atsargos" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "Variantų atsargos" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Kopijuoti detalę" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "Kopijuoti pradinius duomenis iš kitos detalės" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Pradinės atsargos" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "Sukurti detalę su pradiniu atsargų kiekiu" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Tiekėjo informacija" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "Pridėti pradinę tiekėjo informaciją šiai detalei" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Kopijuoti kategorijos parametrus" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "Kopijuoti parametrų šablonus iš pasirinktos detalių kategorijos" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Esamas paveikslėlis" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "Esamos detalės paveikslėlio failo pavadinimas" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "Paveikslėlio failas neegzistuoja" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Patvirtinti visą komplektavimo žiniaraštį" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Galima surinkti" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Mažiausia kaina" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Pakeisti apskaičiuotą mažiausią kainą" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Mažiausios kainos valiuta" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Didžiausia kaina" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "Pakeisti apskaičiuotą didžiausią kainą" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Didžiausios kainos valiuta" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Atnaujinti" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "Atnaujinti šios detalės kainodarą" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Nepavyko konvertuoti iš nurodytų valiutų į {default_currency}" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "Mažiausia kaina negali būti didesnė už didžiausią kainą" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "Didžiausia kaina negali būti mažesnė už mažiausią kainą" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "Pasirinkite pirminį surinkimą" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "Pasirinkite komponentinę detalę" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "Pasirinkite detalę, iš kurios kopijuoti BOM" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Pašalinti esamus duomenis" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "Pašalinti esamus BOM elementus prieš kopijuojant" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Įtraukti paveldėtus" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "Įtraukti BOM elementus, paveldėtus iš šabloninių detalių" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Praleisti netinkamas eilutes" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Įjunkite šią parinktį, jei norite praleisti netinkamas eilutes" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Kopijuoti pakaitines detales" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopijuoti pakaitines detales, kai kopijuojami BOM elementai" @@ -7326,91 +7338,91 @@ msgstr "Nenurodytas joks veiksmas" msgid "No matching action found" msgstr "Atitinkantis veiksmas nerastas" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "Brūkšninio kodo duomenims atitikmens nerasta" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Rastas atitikmuo brūkšninio kodo duomenims" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "Modelis nepalaikomas" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "Modelio egzempliorius nerastas" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "Brūkšninis kodas atitinka esamą elementą" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "Atitinkančių detalės duomenų nerasta" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "Tiekėjo detalių atitikmenų nerasta" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "Rastos kelios atitinkančios tiekėjo detalės" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "Brūkšninio kodo duomenims atitinkančio įskiepio nerasta" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "Atitinkanti tiekėjo detalė" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "Prekė jau buvo priimta" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "Tiekėjo brūkšniniam kodui įskiepis nerastas" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "Rasti keli atitinkantys eilutės įrašai" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "Atitinkančios eilutės įrašo nerasta" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "Nepateiktas pardavimo užsakymas" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "Brūkšninis kodas neatitinka jokio esamo atsargų elemento" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "Atsargų elementas neatitinka eilutės įrašo" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "Nepakanka atsargų" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "Atsargų elementas priskirtas pardavimo užsakymui" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "Nepakanka informacijos" @@ -7992,7 +8004,7 @@ msgstr "Rėmelis" msgid "Print a border around each label" msgstr "Spausdinti rėmelį aplink kiekvieną etiketę" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "Gulsčias" @@ -8481,136 +8493,136 @@ msgstr "Legal" msgid "Letter" msgstr "Letter" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "Šablono failas tokiu pavadinimu jau egzistuoja" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Šablono pavadinimas" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "Šablono aprašymas" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "Versijos numeris (didinamas automatiškai)" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "Pridėti prie modelio spausdinant" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Išsaugoti ataskaitą kaip priedą susietam modelio egzemplioriui spausdinimo metu" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Failo vardo šablonas" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "Šablonas failų vardų generavimui" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "Šablonas įjungtas" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "Šablonui skirtas modelio tipas" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Filtrai" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "Šablono užklausos filtrai (kableliais atskirtas key=value porų sąrašas)" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "Šablono failas" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "Puslapio dydis PDF ataskaitoms" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "Rodyti ataskaitą gulsčiai" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "Ataskaita sugeneruota iš šablono {self.name}" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "Klaida generuojant ataskaitą" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Plotis [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Etiketės plotis, nurodytas milimetrais" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Aukštis [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Etiketės aukštis, nurodytas milimetrais" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "Klaida spausdinant etiketes" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Fragmentas" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Ataskaitos fragmento failas" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Fragmento failo aprašymas" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Išteklius" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Ataskaitos ištekliaus failas" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Ištekliaus failo aprašymas" @@ -8766,200 +8778,200 @@ msgstr "Nėra rezultato" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "Paveikslėlio failas nerastas" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "Žyma part_image reikalauja detalės (Part) egzemplioriaus" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "Žyma company_image reikalauja įmonės (Company) egzemplioriaus" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "Filtruoti pagal vietos gylį" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "Filtruoti pagal aukščiausio lygio vietas" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "Įtraukti sub-vietas į filtravimo rezultatus" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "Pirminė vieta" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "Filtruoti pagal pirminę vietą" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "Detalės pavadinimas (neskiria didžiųjų ir mažųjų raidžių)" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "Detalės pavadinimas turi (neskiria didžiųjų ir mažųjų raidžių)" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "Detalės pavadinimas (reguliarioji išraiška)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "Detalės IPN (neskiria didžiųjų ir mažųjų raidžių)" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "Detalės IPN turi (neskiria didžiųjų ir mažųjų raidžių)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "Detalės IPN (reguliarioji išraiška)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "Mažiausias kiekis" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "Didžiausias kiekis" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Būsenos kodas" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Išorinė vieta" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "Sunaudota gamybos užsakyme" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "Sumontuota kitame atsargų elemente" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "Detalių medis" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "Atnaujinta iki" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "Atnaujinta po" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "Inventorizacija iki" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "Inventorizacija po" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "Galiojimo data iki" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "Galiojimo data po" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "Pasenusi" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "Reikalingas kiekis" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "Turi būti pateikta galiojanti detalė" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "Nurodyta tiekėjo detalė neegzistuoja" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Tiekėjo detalė turi nustatytą pakuotės dydį, bet nepažymėtas požymis use_pack_size" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serijos numeriai negali būti pateikti detalei, kurios negalima sekti" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "Pasirinkite savininką" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Atsargos negali būti tiesiogiai patalpintos į struktūrines atsargų vietas, bet gali būti patalpinti į jų sub-vietas." -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Išorinė" @@ -9101,7 +9113,7 @@ msgstr "Pasirinkite atitinkančią tiekėjo detalę šiam atsargų elementui" msgid "Where is this stock item located?" msgstr "Kur yra šis atsargų elementas?" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "Pakuotė, kurioje laikomas šis atsargų elementas" @@ -9117,7 +9129,7 @@ msgstr "Ar šis elementas yra sumontuotas kitame elemente?" msgid "Serial number for this item" msgstr "Šio elemento serijos numeris" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Šio atsargų elemento partijos kodas" @@ -9234,7 +9246,7 @@ msgstr "Atsargų elementas šiuo metu gaminamas" msgid "Serialized stock cannot be merged" msgstr "Su serijos numeriais pažymėtų atsargų sujungti negalima" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Pasikartojantys atsargų elementai" @@ -9398,7 +9410,7 @@ msgstr "Įveskite serijos numerius naujiems elementams" msgid "Supplier Part Number" msgstr "Tiekėjo detalės numeris" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Nebegaliojantis" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Kiekis negali viršyti galimų atsargų kiekio ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Paskirties atsargų vieta" @@ -9501,127 +9513,127 @@ msgstr "Pasirinkite atsargų elementus būsenai pakeisti" msgid "No stock items selected" msgstr "Nepasirinkti jokie atsargų elementai" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Sub-vietos" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "Pirminė atsargų vieta" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "Detalė turi būti parduodama" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "Elementas priskirtas pardavimo užsakymui" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "Elementas priskirtas gamybos užsakymui" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "Klientas, kuriam priskiriami atsargų elementai" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "Pasirinkta įmonė nėra klientas" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Atsargų priskyrimo pastabos" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "Turi būti pateiktas atsargų elementų sąrašas" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Atsargų sujungimo pastabos" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Leisti skirtingus tiekėjus" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "Leisti sujungti atsargų elementus su skirtingomis tiekėjų detalėmis" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Leisti skirtingas būsenas" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "Leisti sujungti atsargų elementus su skirtingais būsenos kodais" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "Turi būti pateikti bent du atsargų elementai" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "Be pakeitimų" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Atsargų elemento pirminio rakto reikšmė" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "Atsargų elemento nėra sandėlyje" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Atsargų operacijos pastabos" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "Kitas serijos numeris" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "Ankstesnis serijos numeris" @@ -9919,7 +9931,7 @@ msgstr "Leidimai" msgid "Important dates" msgstr "Svarbios datos" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "Raktas buvo atšauktas" @@ -9927,163 +9939,163 @@ msgstr "Raktas buvo atšauktas" msgid "Token has expired" msgstr "Raktas nebegalioja" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "API prieigos raktas" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "API prieigos raktai" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Rakto pavadinimas" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Pasirinktas rakto pavadinimas" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Rakto galiojimo data" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Paskutinį kartą naudotas" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "Paskutinis rakto naudojimo laikas" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Atšauktas" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Leidimų rinkinys" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Peržiūra" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Leidimas peržiūrėti objektus" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Pridėti" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Leidimas pridėti objektus" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Keisti" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Leidimas redaguoti objektus" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Ištrinti" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Leidimas ištrinti objektus" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "Botas" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "Vidinis" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "Svečias" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "Kalba" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "Pageidaujama vartotojo kalba" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "Tema" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "Žiniatinklio sąsajos nustatymai (JSON formatu) - neredaguoti rankiniu būdu!" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "Valdikliai" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "Prietaisų skydelio valdiklių nustatymai (JSON formatu) - neredaguoti rankiniu būdu!" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "Rodomas vardas" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "Pasirinktas vartotojo rodomas vardas" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "Pareigos" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "Pagrindinės pareigos arba darbo pavadinimas" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "Vartotojo būsenos žinutė" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "Vartotojo buvimo vietos informacija" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "Vartotojas aktyviai naudoja sistemą" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "Pageidaujama vartotojo kontaktinė informacija" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "Vartotojo tipas" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "Kokio tipo tai vartotojas?" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "Organizacija" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "Pagrindinė vartotojo organizacija / priklausomybė" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "Pagrindinė grupė" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "Pagrindinė vartotojo grupė" diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index 76cf65ad6a..ec7a5c0613 100644 --- a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API galapunkts nav atrasts" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Lietotājam nav atļaujas, lai apskatītu šo modeli" @@ -65,11 +65,11 @@ msgstr "E-pasta adreses apstiprinājums" msgid "You must type the same email each time." msgstr "Katru reizi jāievada viena un tā pati e-pasta adrese." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Norādītā primārā e-pasta adrese nav derīga." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Norādītais e-pasta domēns nav apstiprināts." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Nevarēja konvertēt {original} par {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Norādītais daudzums nav derīgs" @@ -105,22 +105,22 @@ msgstr "Ievadiet datumu" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Piezīmes" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Vērtība '{name}' neparādās vajadzīgajā formātā" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Norādītā vērtība neatbilst nepieciešamajam formātam: " @@ -164,51 +164,51 @@ msgstr "Noņemiet HTML tagus no šīs vērtības" msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Savienojuma kļūda" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Serveris atbildēja ar nederīgu statusa kodu" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Radās izņēmums" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Serveris atbildēja ar nederīgu Content-Length vērtību" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Attēla izmērs ir pārāk liels" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Attēla lejupielāde pārsniedz maksimālo izmēru" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Attālais serveris atgrieza tukšu atbildi" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "Norādītajā URL nav derīgs attēla fails" @@ -220,117 +220,121 @@ msgstr "" msgid "Email" msgstr "" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "" msgid "Currency" msgstr "" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "" @@ -521,11 +525,11 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "" @@ -546,23 +550,23 @@ msgstr "" msgid "Parent Build" msgstr "" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "" @@ -593,7 +597,7 @@ msgstr "" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "" @@ -601,11 +605,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "" @@ -883,8 +887,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "" @@ -900,7 +904,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "" @@ -962,9 +966,9 @@ msgstr "" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "" @@ -999,7 +1003,7 @@ msgstr "" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "" @@ -1057,8 +1061,8 @@ msgstr "" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "" @@ -1082,7 +1086,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "" @@ -1139,7 +1143,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1272,7 +1276,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "" @@ -1527,31 +1531,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "" @@ -1654,8 +1658,8 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "" @@ -1677,8 +1681,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1686,7 +1690,7 @@ msgstr "" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "" @@ -1756,7 +1760,7 @@ msgstr "" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "" @@ -2430,7 +2434,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2524,7 +2528,7 @@ msgstr "" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "" @@ -2931,7 +2935,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4448,7 +4452,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4533,7 +4537,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "" @@ -6382,7 +6394,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "" @@ -6390,7 +6402,7 @@ msgstr "" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8766,200 +8778,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index 2693c684a4..867b17aaec 100644 --- a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API eindpunt niet gevonden" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "Lijst met items of filters moet worden opgegeven voor bulk bewerking" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Items moeten worden opgegeven als een lijst" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Ongeldige items lijst verstrekt" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "Alles filteren alleen gebruiken met True" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "Geen items die overeenkomen met de opgegeven criteria" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "Geen gegevens verstrekt" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "Dit veld moet uniek zijn" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Gebruiker heeft geen rechten om dit model te bekijken" @@ -65,11 +65,11 @@ msgstr "E-mailadres bevestiging" msgid "You must type the same email each time." msgstr "Er moet hetzelfde e-mailadres ingevoerd worden." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Het opgegeven primaire e-mailadres is ongeldig." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Het ingevoerde e-maildomein is niet goedgekeurd." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "{original} kon niet worden omgezet naar {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" @@ -105,22 +105,22 @@ msgstr "Voer datum in" msgid "Invalid decimal value" msgstr "Ongeldige decimale waarde" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Opmerkingen" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Waarde '{name}' verschijnt niet in patroonformaat" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Opgegeven waarde komt niet overeen met vereist patroon: " @@ -164,51 +164,51 @@ msgstr "Verwijder HTML tags van deze waarde" msgid "Data contains prohibited markdown content" msgstr "Gegevens bevatten verboden markdown inhoud" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "Ongeldige URL: geen hostnaam" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "Ongeldige URL: hostnaam kon niet worden opgelost" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "URL-punten naar een privé of gereserveerd IP-adres" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "Te veel doorverwijzingen" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Verbindingsfout" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Server reageerde met ongeldige statuscode" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Uitzondering opgetreden" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Server reageerde met ongeldige Content-Length waarde" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Afbeeldingsformaat is te groot" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Beelddownload overschrijdt de maximale grootte" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Externe server heeft lege reactie teruggegeven" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "Opgegeven URL is geen geldig afbeeldingsbestand" @@ -220,117 +220,121 @@ msgstr "Log in op de app" msgid "Email" msgstr "E-mail" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Schakel tweestapsverificatie in voordat je iets anders kunt doen." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Fout bij uitvoeren plug-in validatie" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metadata moeten een python dict object zijn" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Plug-in metadata" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "JSON metadata veld, voor gebruik door externe plugins" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Onjuist opgemaakt patroon" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Onbekende opmaaksleutel gespecificeerd" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Vereiste opmaaksleutel ontbreekt" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Referentieveld mag niet leeg zijn" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Referentie moet overeenkomen met verplicht patroon" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Referentienummer is te groot" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Naam" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Omschrijving" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Omschrijving (optioneel)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Pad" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Dubbele namen kunnen niet bestaan onder hetzelfde bovenliggende object" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Markdown notitie (optioneel)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Streepjescode gegevens" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Streepjescode van derden" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Hash van Streepjescode" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Unieke hash van barcode gegevens" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Bestaande barcode gevonden" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Serverfout" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Moet een geldig nummer zijn" msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Selecteer valuta uit beschikbare opties" @@ -521,11 +525,11 @@ msgstr "Chinees (vereenvoudigd)" msgid "Chinese (Traditional)" msgstr "Chinees (traditioneel)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "Update beschikbaar" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "Een update voor Inventree is beschikbaar" @@ -537,7 +541,7 @@ msgstr "Ongeldige fysieke eenheid" msgid "Not a valid currency code" msgstr "Geen geldige valutacode" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Status van bestelling" @@ -546,23 +550,23 @@ msgstr "Status van bestelling" msgid "Parent Build" msgstr "Bovenliggende Productie" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "Inclusief varianten" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "Inclusief varianten" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "Inclusief varianten" msgid "Part" msgstr "Onderdeel" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Categorie" @@ -593,7 +597,7 @@ msgstr "Categorie" msgid "Ancestor Build" msgstr "Voorouderlijke bouw" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Toegewezen aan mij" @@ -601,11 +605,11 @@ msgstr "Toegewezen aan mij" msgid "Assigned To" msgstr "Toegewezen aan" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Gemaakt voor" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Gemaakt na" @@ -641,99 +645,99 @@ msgstr "Voltooid voor" msgid "Completed after" msgstr "Voltooid na" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "Min. datum" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "Max. datum" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "Boomstructuur uitsluiten" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Verbruiksartikelen" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Optioneel" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Samenstelling" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Gevolgd" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Testbaar" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Openstaande order" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Toegewezen" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "Verbruikt" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Beschikbaar" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "In bestelling" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "Build niet gevonden" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Productieorder" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Locatie" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "Uitvoer" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "Filter op uitvoer standaard item ID. Gebruik 'null' om niet geïnstalleerde build items te vinden." @@ -773,9 +777,9 @@ msgstr "Doeldatum moet na startdatum zijn" msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Verkooporder Referentie" msgid "Sales Order to which this build is allocated" msgstr "Productieopdracht waar dit productie aan is toegewezen" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Bronlocatie" @@ -821,7 +825,7 @@ msgstr "Externe bouw" msgid "This build order is fulfilled externally" msgstr "Deze bouw opdracht is extern uitgevoerd" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Bestemmings Locatie" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Productiestatuscode" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Batchcode" @@ -883,8 +887,8 @@ msgstr "Verwachte opleveringsdatum" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Doeldatum voor productie voltooiing. Productie zal achterstallig zijn na deze datum." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Opleveringsdatum" @@ -900,7 +904,7 @@ msgstr "Uitgegeven door" msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Prioriteit van deze bouwopdracht" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Project code" @@ -962,9 +966,9 @@ msgstr "Productuitvoer komt niet overeen met de Productieorder" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" @@ -999,7 +1003,7 @@ msgstr "Bouw object" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" @@ -1057,8 +1061,8 @@ msgstr "Voorraad item is te veel toegewezen" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Voorraadartikel" @@ -1082,7 +1086,7 @@ msgstr "Bestemming voorraadartikel" msgid "Build Level" msgstr "Bouw level" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Onderdeel naam" @@ -1139,7 +1143,7 @@ msgstr "Serienummers automatisch toewijzen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" @@ -1272,7 +1276,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:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" @@ -1351,7 +1355,7 @@ msgstr "Selecteer item type om automatisch toe te wijzen" #: build/serializers.py:1077 order/serializers.py:2096 msgid "Stock Priority" -msgstr "" +msgstr "Voorraad prioriteit" #: build/serializers.py:1078 order/serializers.py:2097 msgid "Preferred order in which matching stock items are consumed" @@ -1385,8 +1389,8 @@ msgstr "Instaleeren Op" msgid "Build" msgstr "Bouwen" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Leveranciersonderdeel" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Varianten toestaan" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "Stuklijstartikel" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "In productie" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "Gepland om te bouwen" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Externe voorraad" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Beschikbare Voorraad" @@ -1527,31 +1531,31 @@ msgstr "Achterstallige Productieorder" msgid "Build order {bo} is now overdue" msgstr "Productieorder {bo} is nu achterstallig" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" -msgstr "" +msgstr "Heeft Miniatuurafbeelding" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "Is koppeling" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "Is een bestand" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "Gebruiker heeft geen toestemming om deze bijlagen te verwijderen" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" -msgstr "" +msgstr "Gebruiker heeft geen toestemming om deze bijlage te bewerken." -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "Gebruiker heeft geen toestemming om deze bijlage te verwijderen." -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "Lijst met selecties is vergrendeld" @@ -1571,10 +1575,10 @@ msgstr "Geen geldige valuta codes opgegeven" msgid "No plugin" msgstr "Geen plug-in gevonden" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" -msgstr "" +msgstr "Tags" #: common/filters.py:390 msgid "Project Code Label" @@ -1645,8 +1649,8 @@ msgstr "Sleutelreeks moet uniek zijn" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Gebruiker" @@ -1654,8 +1658,8 @@ msgstr "Gebruiker" msgid "Price break quantity" msgstr "Prijs pauze hoeveelheid" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Prijs" @@ -1677,8 +1681,8 @@ msgstr "Naam van deze webhook" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Actief" @@ -1686,7 +1690,7 @@ msgstr "Actief" msgid "Is this webhook active" msgstr "Is deze webhook actief" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Sleutel" @@ -1756,7 +1760,7 @@ msgstr "Titel" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -1877,7 +1881,7 @@ msgstr "Bestand als bijlage selecteren" #: common/models.py:2114 msgid "Thumbnail" -msgstr "" +msgstr "Miniatuur" #: common/models.py:2115 msgid "Thumbnail image for this attachment" @@ -1901,7 +1905,7 @@ msgstr "Datum waarop het bestand is geüpload" #: common/models.py:2154 msgid "Is image" -msgstr "" +msgstr "Is een afbeelding" #: common/models.py:2155 msgid "True if this attachment is a valid image file" @@ -2172,7 +2176,7 @@ msgstr "Geldige keuzes voor deze parameter (komma gescheiden)" msgid "Selection list for this parameter" msgstr "Lijst met selecties voor deze parameter" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Ingeschakeld" @@ -2204,8 +2208,8 @@ msgstr "Model-ID" msgid "ID of the target model for this parameter" msgstr "ID van het doelmodel voor deze parameter" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Sjabloon" @@ -2262,7 +2266,7 @@ msgstr "Datum en tijd van de streepjescode scan" msgid "URL endpoint which processed the barcode" msgstr "Adres eindpunt dat de streepjescode verwerkt" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Inhoud" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "E-mail gesprekken" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Sleutel" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} is geannuleerd" msgid "A order that is assigned to you was canceled" msgstr "Een bestelling die aan u is toegewezen is geannuleerd" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Ontvangen items" @@ -2524,7 +2528,7 @@ msgstr "Bestandsnaam" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "Model type" @@ -2684,7 +2688,7 @@ msgstr "Munteenheid update plug-in om te gebruiken" #: common/setting/system.py:290 msgid "Upload Size Limit" -msgstr "" +msgstr "Maximale upload grote" #: common/setting/system.py:291 msgid "Maximum allowable upload size for images and files" @@ -2914,8 +2918,8 @@ msgstr "Onderdelen zijn standaard sjablonen" msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Onderdeel" @@ -2931,7 +2935,7 @@ msgstr "Koopbaar" msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Verkoopbaar" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "Registreer fouten die optreden bij het genereren van rapporten" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Paginagrootte" @@ -3746,39 +3750,39 @@ msgstr "Toon gebruikersprofielen op hun profielpagina" #: common/setting/system.py:1239 msgid "Week Starts On" -msgstr "" +msgstr "De week begint op" #: common/setting/system.py:1240 msgid "Starting day of the week, for display in calendar views" -msgstr "" +msgstr "Eerste dat van de week, voor in de kalenderweergaven" #: common/setting/system.py:1243 msgid "Sunday" -msgstr "" +msgstr "Zondag" #: common/setting/system.py:1244 msgid "Monday" -msgstr "" +msgstr "Maandag" #: common/setting/system.py:1245 msgid "Tuesday" -msgstr "" +msgstr "Dinsdag" #: common/setting/system.py:1246 msgid "Wednesday" -msgstr "" +msgstr "woensdag" #: common/setting/system.py:1247 msgid "Thursday" -msgstr "" +msgstr "Donderdag" #: common/setting/system.py:1248 msgid "Friday" -msgstr "" +msgstr "Vrijdag" #: common/setting/system.py:1249 msgid "Saturday" -msgstr "" +msgstr "Zaterdag" #: common/setting/system.py:1253 msgid "Calendar Horizon" @@ -3790,7 +3794,7 @@ msgstr "" #: common/setting/system.py:1259 msgid "months" -msgstr "" +msgstr "maanden" #: common/setting/system.py:1262 msgid "Enable Test Station Data" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "Alle modellen" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "Geen bijlage model type opgegeven" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "Ongeldig bijlage type" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" -msgstr "" +msgstr "Ongeldige bestandsnaam" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "Minimale plaatsen mogen niet groter zijn dan het maximum" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "Maximum aantal plaatsen kan niet minder zijn dan minimaal" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Een leeg domein is niet toegestaan." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ongeldige domeinnaam: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "De waarde moet hoofdletters zijn" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "Waarde moet een geldige variabele id zijn" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "Leverancier is actief" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Fabrikant" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Bedrijf" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Contact e-mailadres" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Contact" @@ -4297,7 +4301,7 @@ msgstr "Btw-nr" msgid "Company Tax ID" msgstr "BTW-nummer van bedrijf" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Adres" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "Link naar adres gegevens (extern)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Fabrikant onderdeel" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Fabrikant selecteren" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "Fabrikant artikel nummer" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Leverancier" @@ -4448,7 +4452,7 @@ msgstr "Leverancier" msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Voorraad beheers eenheid voor leveranciers" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Verpakking" @@ -4533,7 +4537,7 @@ msgstr "Standaardvaluta die gebruikt wordt voor deze leverancier" msgid "Company Name" msgstr "Bedrijfsnaam" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "Op voorraad" @@ -4543,7 +4547,7 @@ msgstr "Prijsverschillen" #: company/serializers.py:467 msgid "Pretty Name" -msgstr "" +msgstr "Weergavenaam" #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" @@ -4722,7 +4726,7 @@ msgstr "Oorspronkelijke rij gegevens" msgid "Errors" msgstr "Fouten" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Geldig" @@ -4838,7 +4842,7 @@ msgstr "Aantal afdrukken voor elk label" msgid "Connected" msgstr "Verbonden" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Onbekend" @@ -4942,7 +4946,7 @@ msgstr "Sleutel van de eigenschap" msgid "Value of the property" msgstr "Waarde van de eigenschap" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Groep" @@ -4966,118 +4970,118 @@ msgstr "Maximale voortgang" msgid "Maximum value for progress type, required if type=progress" msgstr "Maximale waarde voor voortgangsttype, vereist als type=progress" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Order Referentie" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "Uitmuntend" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "Heeft een projectcode" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Aangemaakt Door" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "Gemaakt vóór" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "Gemaakt na" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "Heeft vervaldatum" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "Vervaldatum voor" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "Vervaldatum na" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "Heeft doel datum" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "Doel datum voor" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "Doel datum na" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "Bijgewerkt voor" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "Bijgewerkt na" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "Heeft prijsstelling" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "Voltooid voor" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "Voltooid na" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "Externe Bouw Opdracht" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Bestellen" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "Bestelling voltooid" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Intern onderdeel" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "Bestelling in behandeling" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Voltooid" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "Heeft verzending" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Inkooporder" msgid "Sales Order" msgstr "Verkooporder" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Retour bestelling" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "Adres komt niet overeen met het geselecteerde bedrijf" msgid "Order description (optional)" msgstr "Bestelling beschrijving (optioneel)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Selecteer projectcode voor deze bestelling" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Link naar externe pagina" @@ -5151,7 +5155,7 @@ msgstr "Start datum" msgid "Scheduled start date for this order" msgstr "Geplande startdatum voor deze bestelling" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Streefdatum" @@ -5184,487 +5188,487 @@ msgstr "Contactpunt voor deze volgorde" msgid "Company address for this order" msgstr "Bedrijf adres voor deze bestelling" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Orderreferentie" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Status" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Inkooporder status" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Bedrijf waar de artikelen van worden besteld" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Leveranciersreferentie" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Order referentiecode van leverancier" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "ontvangen door" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "Order voltooid op datum" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Bestemming" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "Bestemming voor ontvangen items" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "Regelitem mist een gekoppeld deel" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "Hoeveelheid moet een positief getal zijn" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Klant" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "Verkooporder status" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Verzenddatum" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "verzonden door" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "Bestelling is al afgerond" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "Order is al geannuleerd" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Alleen een open bestelling kan als voltooid worden gemarkeerd" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestelling kan niet worden voltooid omdat er onvolledige verzendingen aanwezig zijn" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "Order kan niet worden voltooid omdat er onvolledige artikelen aanwezig zijn" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "Order kan niet worden voltooid omdat er onvolledige artikelen aanwezig zijn" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "De bestelling is vergrendeld en kan niet worden gewijzigd" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Hoeveelheid artikelen" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Artikelregel referentie" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Artikel notities" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Doeldatum voor dit regelitem (laat leeg om de doeldatum van de bestelling te gebruiken)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Regelomschrijving (optioneel)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "Additionele context voor deze regel" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Stukprijs" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "Inkooporder regel item" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "Bouw bestelling moet worden gemarkeerd als extern" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "Bestellingen kunnen alleen aan assemblageonderdelen worden gekoppeld" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "De bouw van het order deel moet overeenkomen met regel onderdeel" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Leveranciersonderdeel" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Ontvangen" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Inkoopprijs" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Aankoopprijs per stuk" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "Externe Build Order moet aan deze regel voldoen" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "Extra regel inkooporder" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "Verkooporder regel item" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Verkoopprijs" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Verzonden" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "Verzending van verkooporder" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "Verzendadres moet overeenkomen met de klant" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "Verzendadres voor deze zending" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Leveringsdatum" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Datum van levering van zending" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Zending" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "Verzending moet worden gecontroleerd voordat deze kan worden voltooid" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "Verkooporder extra regel" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "Toewijzing verkooporder" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kan het voorraadartikel niet toewijzen aan een regel met een ander onderdeel" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Regel" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Artikel" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "Retour order referentie" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Bedrijf van waaruit items worden teruggestuurd" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "Retour bestelling status" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "Retourneer bestelregel item" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "Voorraad item moet worden opgegeven" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "Retour hoeveelheid overschrijdt voorraad hoeveelheid" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "Het retour aantal moet groter zijn dan nul" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "Ongeldige hoeveelheid voor geserialiseerde voorraad" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Selecteer te retourneren product van de klant" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Ontvangst datum" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "De datum waarop dit retour item is ontvangen" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Resultaat" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Resultaat van deze regel item" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Kosten geassocieerd met teruggave of reparatie voor deze regel item" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "Retourneren extra regel" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "Extra regels kopiëren" msgid "Copy extra line items from the original order" msgstr "Extra regelitems van de oorspronkelijke bestelling kopiëren" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Parameters kopiëren" @@ -5785,11 +5789,11 @@ msgstr "Items samenvoegen" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Items met hetzelfde onderdeel, bestemming en doeldatum samenvoegen in één regelitem" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "SKU" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Intern Onderdeelnummer" @@ -5826,7 +5830,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Voer batch code in voor inkomende voorraad items" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Vervaldatum" @@ -6057,123 +6061,131 @@ msgstr "Achterstallige retour orders" msgid "Return order {ro} is now overdue" msgstr "Productieorder {ro} is nu achterstallig" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "Favoriet" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "Filter op categorieën met ster" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Diepte" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "Filteren op categorie diepte" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "Hoogste niveau" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "Filteren op topniveau categorieën" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "Stapelen" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "Inclusief subcategorieën in gefilterde resultaten" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "Bovenliggend" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "Filter op bovenliggende categorie" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "Subcategorieën uitsluiten in de opgegeven categorie" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "Heeft resultaten" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "Is een variant" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "Is revisie" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "Heeft revisies" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "BOM Valid" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "Cascade Categorieën" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "Indien waar, inclusief items op de onderliggende categorieën van de opgegeven categorie" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Filter op numerieke categorie-ID of de letterlijke 'null'" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "Bouw onderdeel is actief" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "Bouw onderdeel is te volgen" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "Assemblage deel is testbaar" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "Onderdeel is actief" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "Onderdeel is trackable" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "Component onderdeel is testbaar" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "Onderdeel is nog te bouwen" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "Onderdeel is virtueel" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "Heeft beschikbare voorraad" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "Gebruik" @@ -6214,7 +6226,7 @@ msgstr "Standaard trefwoorden voor delen in deze categorie" msgid "Icon" msgstr "Pictogram" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Pictogram (optioneel)" @@ -6350,7 +6362,7 @@ msgstr "Deel sleutelwoorden om de zichtbaarheid van de zoekresultaten te verbete msgid "Part category" msgstr "Onderdeel Categorie" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6359,7 +6371,7 @@ msgstr "IPN" msgid "Part revision or version number" msgstr "Onderdeel revisie of versienummer" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Revisie" @@ -6383,7 +6395,7 @@ msgstr "Standaard verval datum" msgid "Expiry time (in days) for stock items of this part" msgstr "Verlooptijd (in dagen) voor voorraadartikelen van dit deel" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Minimum voorraad" @@ -6391,7 +6403,7 @@ msgstr "Minimum voorraad" msgid "Minimum allowed stock level" msgstr "Minimaal toegelaten stock niveau" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6760,7 +6772,7 @@ msgstr "Sub onderdeel" msgid "Select part to be used in BOM" msgstr "Selecteer onderdeel dat moet worden gebruikt in BOM" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6912,351 +6924,351 @@ msgstr "Bovenliggende categorie" msgid "Parent part category" msgstr "Bovenliggende onderdeel categorie" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Subcategorieën" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "Resultaten" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "Aantal resultaten opgenomen ten opzichte van deze template" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Inkooporder voor dit voorraadartikel" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "Bestand is geen afbeelding" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Oorspronkelijk onderdeel" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Selecteer origineel onderdeel om te dupliceren" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Copy BOM" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "Kopieer materiaal van het oorspronkelijke deel" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Notities kopiëren" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "Kopieer notities van het originele deel" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "Tests kopiëren" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "Test sjablonen kopiëren van het originele deel" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Eerste voorraad hoeveelheid" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Specificeer de initiële voorraad hoeveelheid voor dit onderdeel. Als het aantal nul is, wordt er geen voorraad toegevoegd." -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Eerste voorraad locatie" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Specificeer locatie van de eerste voorraad voor dit onderdeel" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Selecteer leverancier (of laat leeg om niets in te vullen)" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Selecteer fabrikant (of laat leeg om niets in te vullen)" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Fabrikant artikel nummer" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "Geselecteerde onderneming is geen geldige leverancier" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "Geselecteerde bedrijf is geen geldige fabrikant" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "Fabrikant deel dat overeenkomt met deze MPN bestaat al" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "Leveranciersdeel dat overeenkomt met deze SKU bestaat al" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Categorie naam" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "Bouwen" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "Hoeveelheid van dit deel dat momenteel in productie is" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Er zal een onuitputtelijke hoeveelheid van dit deel worden gebouwd" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Voorraadartikelen" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "Revisies" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Totale Voorraad" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "Niet toegewezen voorraad" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "Variant voorraad" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Dupliceer onderdeel" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "Kopieer eerste gegevens uit een ander onderdeel" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Eerste voorraad" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "Maak onderdeel met eerste voorraad" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Leveranciersgegevens" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "Aanvankelijke leveranciersinformatie voor dit deel toevoegen" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Categorie parameters kopiëren" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "Parameter sjablonen kopiëren uit geselecteerde onderdeel categorie" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Bestaande afbeelding" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "Bestandsnaam van een bestaande onderdeel afbeelding" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "Afbeeldingsbestand bestaat niet" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Valideer de gehele materiaalbon" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Kan bouwen" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "Vereist voor bouworders" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "Toegewezen aan bouwen van orders" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "Vereist voor verkooporders" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "Toegewezen aan verkooporders" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "IPN onderdeel" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "Onderdeel omschrijving" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "Rapport Maken" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Minimale prijs" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Overschrijf berekende waarde voor minimale prijs" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Minimale prijs valuta" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Maximale prijs" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "Overschrijf de berekende waarde voor de maximale prijs" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Maximale prijs valuta" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Bijwerken" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "Prijzen voor dit onderdeel bijwerken" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Kan niet converteren van de verstrekte valuta naar {default_currency}" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "Minimumprijs mag niet hoger zijn dan de maximale prijs" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "Maximale prijs mag niet lager zijn dan de minimale prijs" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "Selecteer de bovenliggende assemblage" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "Selecteer het onderdeel" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "Selecteer onderdeel om BOM van te kopiëren" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Bestaande gegevens verwijderen" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "Verwijder bestaande BOM items voor het kopiëren" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Inclusief overgenomen" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "Inclusief stuklijst BOM items die worden overgenomen van getemplated onderdelen" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Ongeldige regels overslaan" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Schakel deze optie in om ongeldige rijen over te slaan" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Verwijder vervangend deel" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopieer vervangende onderdelen bij dubbele stuklijst BOM items" @@ -7327,91 +7339,91 @@ msgstr "Geen actie gespecificeerd" msgid "No matching action found" msgstr "Geen overeenkomende actie gevonden" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "Geen overeenkomst gevonden voor streepjescodegegevens" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Overeenkomst gevonden voor streepjescodegegevens" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "Model wordt niet ondersteund" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "Model instantie niet gevonden" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "Barcode komt overeen met bestaand item" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "Geen overeenkomende actie gevonden" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "Geen overeenkomende leveranciers onderdelen gevonden" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "Meerdere overeenkomende leveranciers onderdelen gevonden" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "Geen overeenkomende plug-in gevonden voor barcode gegevens" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "Overeenkomende leverancier onderdeel" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "Regel item is al ontvangen" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "Er komt geen plug-in overeen met de barcode van de leverancier" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "Meerdere overeenkomende regelitems gevonden" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "Geen overeenkomend voorraaditem gevonden" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "Geen verkooporder opgegeven" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "Streepjescode komt niet overeen met een bestaand voorraadartikel" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "Voorraad item komt niet overeen met regelitem" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "Onvoldoende voorraad beschikbaar" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "Voorraad item toegewezen aan verkooporder" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "Te weinig informatie" @@ -7993,7 +8005,7 @@ msgstr "Rand" msgid "Print a border around each label" msgstr "Print een rand rond elk label" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "Liggend" @@ -8482,136 +8494,136 @@ msgstr "Juridisch" msgid "Letter" msgstr "Brief" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "Sjabloonbestand met deze naam bestaat al" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Template naam" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "Template beschrijving" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "Revisie nummer (auto verhogen)" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "Bevestig aan het model bij afdrukken" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Sla rapport output op als bijlage ten opzichte van gekoppelde model instantie bij afdrukken" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Bestandsnaam Patroon" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "Patroon voor het genereren van bestandsnamen" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "Template is ingeschakeld" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "Doel type model voor sjabloon" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Filters" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "Sjabloon zoekfilters (door komma's gescheiden lijst van sleutel=waarde paren)" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "Sjabloon bestand" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapport" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "Rapportage weergeven in liggende stand" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "Samenvoegen" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "Geef een enkel rapport tegen geselecteerde items" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "Rapport gegenereerd door template {self.name}" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "Sjabloon syntaxis fout" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "Fout bij het renderen rapport" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "Fout bij genereren rapport" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "Fout bij samenvoegen rapport uitvoer" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Breedte [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Label breedte, gespecificeerd in mm" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Hoogte [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Label hoogte, gespecificeerd in mm" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "Fout afdrukken van labels" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Tekstfragment" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Rapporteer snippet bestand" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Snippet bestandsbeschrijving" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Asset" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Rapporteer asset bestand" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Beschrijving asset bestand" @@ -8767,200 +8779,200 @@ msgstr "Geen resultaat" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "Afbeelding bestand niet gevonden" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "part_image tag vereist een onderdeel instantie" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "bedrijf_imagetag vereist een bedrijfsinstantie" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "Filter op locatie diepte" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "Filter op topniveau locaties" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "Inclusief sublocaties in gefilterde resultaten" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "Bovenliggende locatie" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "Filter op bovenliggende locatie" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "Naam van onderdeel (hoofdletter ongevoelig)" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "Naam van onderdeel bevat (hoofdletter ongevoelig)" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "Naam onderdeel (regex)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "Deel IPN (hoofdletter ongevoelig)" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "Onderdeel IPN bevat (hoofdletter ongevoelig)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "Deel IPN (regex)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "Minimale voorraad" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "Maximale voorraad" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Status code" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Externe locatie" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "Verbruikt door productieorder" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "Geïnstalleerd in een ander voorraadartikel" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "Boomstructuur onderdeel" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "Eerder bijgewerkt" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "Bijgewerkt na" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "Voorraadcontrole voor" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "Voorraadcontrole na" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "Vervaldatum voor" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "Vervaldatum na" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "Verouderd" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "Voorraad PK om dit item en al zijn afstammelingen uit te sluiten" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "Cascade locaties" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "Indien waar, inclusief items op de onderliggende locaties van de opgegeven locatie" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "Filter op numerieke locatie ID of de letterlijke 'null'" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "Hoeveelheid is vereist" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "Geldig onderdeel moet worden opgegeven" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "Het opgegeven leveranciers onderdeel bestaat niet" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Het leveranciersdeel heeft een pakketgrootte gedefinieerd, maar vlag use_pack_size niet ingesteld" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serienummers kunnen niet worden meegeleverd voor een niet traceerbaar onderdeel" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "Inclusief geïnstalleerde" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "Als correct, geef testresultaten voor items die onder het opgegeven voorraadartikel zijn geïnstalleerd" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "Filter op numerieke voorraadartikel ID" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "Voorraadartikel met ID {id} bestaat niet" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "Inclusief Onderdeel varianten" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "Datum na" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "Datum voor" @@ -8996,7 +9008,7 @@ msgstr "Selecteer eigenaar" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Voorraaditems kunnen niet direct worden geplaatst op een structurele voorraadlocatie, maar kunnen zich op onderliggende locaties bevinden." -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Extern" @@ -9102,7 +9114,7 @@ msgstr "Selecteer een leveranciersdeel voor dit voorraadartikel" msgid "Where is this stock item located?" msgstr "Waar bevindt zich dit voorraaditem?" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "Het verpakken van dit voorraaditem is opgeslagen in" @@ -9118,7 +9130,7 @@ msgstr "Is dit item geïnstalleerd in een ander item?" msgid "Serial number for this item" msgstr "Serienummer van dit item" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Batch code voor dit voorraaditem" @@ -9235,7 +9247,7 @@ msgstr "Voorraad item is momenteel in productie" msgid "Serialized stock cannot be merged" msgstr "Geserialiseerde voorraad kan niet worden samengevoegd" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Dupliceer voorraadartikelen" @@ -9399,7 +9411,7 @@ msgstr "Voer serienummers voor nieuwe items in" msgid "Supplier Part Number" msgstr "Leverancier artikelnummer" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Verlopen" @@ -9429,8 +9441,8 @@ msgstr "Geen voorraad item opgegeven" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Hoeveelheid mag niet hoger zijn dan de beschikbare voorraad ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Locatie van bestemming" @@ -9502,127 +9514,127 @@ msgstr "Selecteer voorraadartikelen om status te wijzigen" msgid "No stock items selected" msgstr "Geen voorraaditems geselecteerd" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Sublocaties" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "Bovenliggende voorraad locatie" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "Onderdeel moet verkoopbaar zijn" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "Artikel is toegewezen aan een verkooporder" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "Artikel is toegewezen aan een productieorder" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "Klant om voorraadartikelen toe te wijzen" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "Geselecteerde bedrijf is geen klant" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Voorraad toewijzing notities" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "Een lijst met voorraad artikelen moet worden opgegeven" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Voorraad samenvoegen notities" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Niet overeen komende leveranciers toestaan" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "Toestaan dat voorraadartikelen met verschillende leveranciers onderdelen worden samengevoegd" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Sta onjuiste status toe" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "Toestaan dat voorraadartikelen met verschillende statuscodes worden samengevoegd" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "Er moeten ten minste twee voorraadartikelen worden opgegeven" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "Geen wijziging" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Voorraaditem primaire sleutel waarde" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "Voorraad artikel is niet op voorraad" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "Voorraad artikel is al in voorraad" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "Hoeveelheid mag niet negatief zijn" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Voorraad transactie notities" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "Samenvoegen in bestaande voorraad" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "Voeg indien mogelijk geretourneerde items samen in bestaande voorraad" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "Volgend serienummer" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "Vorig serienummer" @@ -9920,7 +9932,7 @@ msgstr "Machtigingen" msgid "Important dates" msgstr "Belangrijke data" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "Token is ingetrokken" @@ -9928,163 +9940,163 @@ msgstr "Token is ingetrokken" msgid "Token has expired" msgstr "Token is verlopen" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "API Token" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "API tokens" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Token naam" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Aangepaste token naam" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Token vervaldatum" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Laatst gezien" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "Laatste keer dat het token werd gebruikt" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Intrekken" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Toestemming set" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Weergeven" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Machtiging om items te bekijken" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Toevoegen" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Machtiging om items toe te voegen" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Wijzigen" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Machtigingen om items te bewerken" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Verwijderen" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Toestemming om items te verwijderen" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "Bot" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "Intern" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "Gast" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "Taal" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "Voorkeurstaal voor gebruiker" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "Thema" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "Instellingen voor webinterface als JSON - niet handmatig bewerken!" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "Widget" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "Instellingen voor de dashboard widgets als JSON - wijzig niet handmatig!" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "Naam weergeven" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "Gekozen weergavenaam voor de gebruiker" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "Functie" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "Titel of positie hoofdtaken" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "Gebruiker status bericht" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "Informatie over locatie gebruiker" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "Gebruiker gebruikt actief het systeem" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "Voorkeursinformatie voor de gebruiker" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "Gebruikers type" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "Welk type gebruiker is dit?" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "Organisatie" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "Gebruikers primaire organisatie/affiliatie" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "Primaire groep" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "Primaire groep van de gebruiker" diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index eabfad5c9c..438a19ca1c 100644 --- a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API-endepunkt ikke funnet" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Brukeren har ikke rettigheter til å se denne modellen" @@ -65,11 +65,11 @@ msgstr "Bekreft e-postaddresse" msgid "You must type the same email each time." msgstr "Du må angi samme e-post hver gang." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Den oppgitte primære e-postadressen er ikke gyldig." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Det oppgitte e-postdomenet er ikke godkjent." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Kunne ikke konvertere {original} til {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" @@ -105,22 +105,22 @@ msgstr "Oppgi dato" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Notater" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Verdi '{name}' vises ikke i mønsterformat" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Angitt verdi samsvarer ikke med påkrevd mønster: " @@ -164,51 +164,51 @@ msgstr "Fjern HTML-tagger fra denne verdien" msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Tilkoblingsfeil" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Serveren svarte med ugyldig statuskode" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Det har oppstått et unntak" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Serveren svarte med ugyldig \"Content-Length\"-verdi" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Bildestørrelsen er for stor" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Bildenedlasting overskred maksimal størrelse" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Ekstern server returnerte tomt svar" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "Angitt URL er ikke en gyldig bildefil" @@ -220,117 +220,121 @@ msgstr "" msgid "Email" msgstr "E-post" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Feil under validering av utvidelse" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metadata må være et python dict-objekt" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Utvidelse-metadata" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "JSON-metadatafelt, for bruk av eksterne utvidelser" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Uriktig formatert mønster" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Ukjent formatnøkkel spesifisert" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Mangler nødvendig formatnøkkel" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Referansefeltet kan ikke være tomt" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Referansen må samsvare påkrevd mønster" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Referansenummeret er for stort" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Beskrivelse (valgfritt)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Sti" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikatnavn kan ikke eksistere under samme overordnede" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Markdown-notater (valgfritt)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Strekkodedata" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Tredjeparts strekkodedata" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Strekkode-hash" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Unik hash av strekkodedata" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Eksisterende strekkode funnet" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Serverfeil" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Må være et gyldig tall" msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Velg valuta ut fra tilgjengelige alternativer" @@ -521,11 +525,11 @@ msgstr "Kinesisk (forenklet)" msgid "Chinese (Traditional)" msgstr "Kinesisk (tradisjonell)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "Ugyldig fysisk enhet" msgid "Not a valid currency code" msgstr "Ikke en gyldig valutakode" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Ordrestatus" @@ -546,23 +550,23 @@ msgstr "Ordrestatus" msgid "Parent Build" msgstr "Overordnet produksjon" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Kategori" @@ -593,7 +597,7 @@ msgstr "Kategori" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "" @@ -601,11 +605,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Produksjonen må avbrytes før den kan slettes" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Valgfritt" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Sammenstilling" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Spores" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Tildelt" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Tilgjengelig" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "I bestilling" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Produksjonsordre" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Plassering" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Produksjonsordre-referanse" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Salgsordrereferanse" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Kildeplassering" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Fullført plassering" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Produksjonsstatuskode" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Batchkode" @@ -883,8 +887,8 @@ msgstr "Forventet sluttdato" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Måldato for ferdigstillelse. Produksjonen vil være forfalt etter denne datoen." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Fullført dato" @@ -900,7 +904,7 @@ msgstr "Utstedt av" msgid "User who issued this build order" msgstr "Brukeren som utstedte denne produksjonsordren" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Produksjonsordrens prioritet" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Prosjektkode" @@ -962,9 +966,9 @@ msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" @@ -999,7 +1003,7 @@ msgstr "Produksjonsobjekt" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Mengden må være 1 for serialisert lagervare" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" @@ -1057,8 +1061,8 @@ msgstr "Lagervaren er overtildelt" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Lagervare" @@ -1082,7 +1086,7 @@ msgstr "Lagervare for montering" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Delnavn" @@ -1139,7 +1143,7 @@ msgstr "Automatisk tildeling av serienummer" msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" @@ -1272,7 +1276,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:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "Artikkelen må være på lager" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Leverandørdel" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Tillat Varianter" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "BOM-artikkel" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "I produksjon" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Ekstern lagerbeholdning" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Tilgjengelig lagerbeholdning" @@ -1527,31 +1531,31 @@ msgstr "Forfalt produksjonsordre" msgid "Build order {bo} is now overdue" msgstr "Produksjonsordre {bo} er nå forfalt" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "Er lenke" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "Er fil" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "Brukeren har ikke tillatelse til å slette dette vedlegget" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "Ingen gyldige valutakoder angitt" msgid "No plugin" msgstr "Ingen programtillegg" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "Nøkkelstreng må være unik" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Bruker" @@ -1654,8 +1658,8 @@ msgstr "Bruker" msgid "Price break quantity" msgstr "Antall for prisbrudd" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Pris" @@ -1677,8 +1681,8 @@ msgstr "Navn for webhooken" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktiv" @@ -1686,7 +1690,7 @@ msgstr "Aktiv" msgid "Is this webhook active" msgstr "Er webhooken aktiv" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Sjetong" @@ -1756,7 +1760,7 @@ msgstr "Tittel" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "Gyldige valg for denne parameteren (kommaseparert)" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Aktivert" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Mal" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Kontekst" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Nøkkel" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} kansellert" msgid "A order that is assigned to you was canceled" msgstr "En ordre som er tildelt til deg ble kansellert" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Artikler mottatt" @@ -2524,7 +2528,7 @@ msgstr "Filnavn" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "Modelltype" @@ -2914,8 +2918,8 @@ msgstr "Deler er maler som standard" msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Komponent" @@ -2931,7 +2935,7 @@ msgstr "Kjøpbar" msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Salgbar" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Sidestørrelse" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "Ingen modelltype angitt for vedlegg" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "Ugyldig modelltype for vedlegg" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "Minste antall plasser kan ikke være mer enn største antall plasser" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "Største antall plasser kan ikke være mindre enn minste antall plasser" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Et tomt domene er ikke tillatt." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ugyldig domenenavn: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "Leverandør er aktiv" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Produsent" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Firma" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Kontakt e-post" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Kontakt" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Adresse" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "Lenke til adresseinformasjon (ekstern)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Produsentdeler" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Velg produsent" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "MPN" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Leverandør" @@ -4448,7 +4452,7 @@ msgstr "Leverandør" msgid "Select supplier" msgstr "Velg leverandør" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Leverandørens lagerbeholdningsenhet" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Emballasje" @@ -4533,7 +4537,7 @@ msgstr "Standardvaluta brukt for denne leverandøren" msgid "Company Name" msgstr "Bedriftsnavn" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "På lager" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Gyldig" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Ukjent" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Gruppe" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Ordrereferanse" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Opprettet av" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Ordre" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Intern del" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Fullført" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Innkjøpsordre" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Innkjøpsordre" msgid "Sales Order" msgstr "Salgsordre" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Returordre" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "Ordrebeskrivelse (valgfritt)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Velg prosjektkode for denne ordren" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Lenke til ekstern side" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Måldato" @@ -5184,487 +5188,487 @@ msgstr "Kontaktpunkt for denne ordren" msgid "Company address for this order" msgstr "Selskapsadresse for denne ordren" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Ordrereferanse" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Status" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Status for innkjøpsordre" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Firma som varene blir bestilt fra" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Leverandørreferanse" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Leverandørens ordrereferanse" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "mottatt av" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "Dato ordre ble fullført" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Destinasjon" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "Delleverandør må matche PO-leverandør" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "Linjeelementet samsvarer ikke med innkjøpsordre" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "Mengde må være positiv" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Kunde" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Firma som varene selges til" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Kundereferanse " -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Kundens ordrereferanse" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Forsendelsesdato" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "sendt av" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Kun en åpen ordre kan merkes som fullført" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestillingen kan ikke fullføres da det finnes ufullstendige forsendelser" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "Denne ordren kan ikke fullføres da det fortsatt er ufullstendige artikler" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Antall" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Linjereferanse" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Linjenotater" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Måldato for denne linjen (la stå tomt for å bruke måldatoen fra ordren)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Linjeelementbeskrivelse (valgfritt)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "Ytterligere kontekst for denne linjen" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Enhetspris" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "Delens leverandør må samsvare med leverandør" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Leverandørdel" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Mottatt" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Antall enheter mottatt" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Innkjøpspris" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Enhet-innkjøpspris" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "Kun salgbare deler kan tildeles en salgsordre" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Salgspris" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Enhets-salgspris" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Sendt" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Sendt antall" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Dato for forsendelse" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Leveringsdato" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Dato for levering av forsendelse" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Sjekket Av" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Brukeren som sjekket forsendelsen" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Forsendelse" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Forsendelsesnummer" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Sporingsnummer" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Sporingsinformasjon for forsendelse" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Referansenummer for tilknyttet faktura" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "Forsendelsen er allerede sendt" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "Forsendelsen har ingen tildelte lagervarer" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "Lagervarer er ikke blitt tildelt" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kan ikke tildele lagervare til en linje med annen del" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "Kan ikke tildele lagerbeholdning til en linje uten en del" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Tildelingsantall må være større enn null" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "Antall må være 1 for serialisert lagervare" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "Salgsordre samsvarer ikke med forsendelse" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "Forsendelsen samsvarer ikke med salgsordre" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Linje" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Forsendelsesreferanse for salgsordre" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Artikkel" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Velg lagervare å tildele" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Angi lagertildelingsmengde" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "Returordre-referanse" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Firmaet delen skal returneres fra" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "Returordrestatus" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Velg artikkel som skal returneres fra kunde" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Mottatt Dato" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Utfall" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Utfall for dette linjeelementet" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Kopier parametere" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "SKU-kode" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Internt delnummer" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Angi batchkode for innkommende lagervarer" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Utløpsdato" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "Standard nøkkelord for deler i denne kategorien" msgid "Icon" msgstr "Ikon" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Ikon (valgfritt)" @@ -6349,7 +6361,7 @@ msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" msgid "Part category" msgstr "Delkategori" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "Delrevisjon eller versjonsnummer" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Revisjon" @@ -6382,7 +6394,7 @@ msgstr "Standard utløp" msgid "Expiry time (in days) for stock items of this part" msgstr "Utløpstid (i dager) for lagervarer av denne delen" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Minimal lagerbeholdning" @@ -6390,7 +6402,7 @@ msgstr "Minimal lagerbeholdning" msgid "Minimum allowed stock level" msgstr "Minimum tillatt lagernivå" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "Underordnet del" msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i BOM" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Underkategorier" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Innkjøpsvaluta for lagervaren" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Kopier Stykkliste" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Kopier notater" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "Kopier notater fra originaldel" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:474 +#: 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:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:499 +#: 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:515 +#: 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:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Produsentens delenummer" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:559 +#: 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:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Kategorinavn" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "Produseres" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Lagervarer" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Total lagerbeholdning" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "Lag en del med innledende lagermengde" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Leverandøropplysninger" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "Legg til innledende leverandørinformasjon for denne delen" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Eksisterende bilde" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "Filnavn for et eksisterende del-bilde" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "Bildefilen finnes ikke" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Godkjenn hele Stykklisten" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Kan Produsere" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Minstepris" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Overstyr beregnet verdi for minimumspris" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Valuta for minstepris" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Makspris" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "Overstyr beregnet verdi for maksimal pris" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Valuta for maksimal pris" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, 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:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "Minsteprisen kan ikke være større enn maksimal pris" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "Maksimal pris kan ikke være mindre enn minstepris" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM-artikler før kopiering" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Inkluder arvede" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM-artikler som er arvet fra maldeler" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres" @@ -7326,91 +7338,91 @@ msgstr "Ingen handling spesifisert" msgid "No matching action found" msgstr "Ingen samsvarende handling funnet" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "Ingen treff funnet for strekkodedata" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Treff funnet for strekkodedata" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "Strekkode samsvarer med ekisterende element" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "Ingen samsvarende del-data funnet" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "Finner ingen matchende leverandørdeler" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "Flere samsvarende leverandørdeler funnet" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "Fant leverandørdel" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "Artikkelen er allerede mottatt" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "Flere samsvarende elementer funnet" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "Ingen samsvarende element funnet" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "Strekkoden samsvarer ikke med eksisterende lagervare" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "Lagervare samsvarer ikke med linjeelement" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "Utilstrekkelig lagerbeholdning" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "Lagervaren er tildelt en salgsordre" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "Ikke nok informasjon" @@ -7992,7 +8004,7 @@ msgstr "Kantlinjer" msgid "Print a border around each label" msgstr "Skriv ut en kant rundt hver etikett" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "Liggende" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Malnavn" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Filnavnmønster" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Filtre" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "Sidestørrelse for PDF-rapporter" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "Generer rapport i landskapsorientering" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Bredde [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Etikettbredde, spesifisert i mm" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Høyde [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Etiketthøyde, spesifisert i mm" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Snutt" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Rapportsnuttfil" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Filbeskrivelse for snutt" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Ressurs" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Rapportressursfil" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Ressursfilbeskrivelse" @@ -8766,200 +8778,200 @@ msgstr "Ingen resultat" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "Bildefil ikke funnet" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "part_image-taggen krever en Part-instans" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "company_image-taggen krever en Company-instans" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Statuskode" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Ekstern plassering" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "Del-tre" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "Utløpsdato før" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "Utløpsdato etter" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "Foreldet" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "Antall kreves" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "Gyldig del må oppgis" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "Oppgitt leverandørdel eksisterer ikke" -#: stock/api.py:1163 +#: stock/api.py:1177 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:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serienumre kan ikke angis for en ikke-sporbar del" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "Velg eier" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Lagervarer kan ikke knyttes direkte mot en strukturell lagerplassering, men kan knyttes mot underplasseringer." -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Ekstern" @@ -9101,7 +9113,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:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "Inpakningen denne lagervaren er lagret i" @@ -9117,7 +9129,7 @@ msgstr "Er denne artikkelen montert i en annen artikkel?" msgid "Serial number for this item" msgstr "Serienummer for denne artikkelen" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Batchkode for denne lagervaren" @@ -9234,7 +9246,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:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Duplisert lagervare" @@ -9398,7 +9410,7 @@ msgstr "Angi serienummer for nye artikler" msgid "Supplier Part Number" msgstr "Leverandørens delnummer" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Utløpt" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Til Lagerplassering" @@ -9501,127 +9513,127 @@ msgstr "Velg lagervarer for å endre status" msgid "No stock items selected" msgstr "Ingen lagervarer valgt" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Underplasseringer" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "Delen må være salgbar" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "Artikkelen er tildelt en salgsordre" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "Artikkelen er tildelt en produksjonsordre" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "Kunde å tilordne lagervarer" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "Valgt firma er ikke en kunde" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Lagervare-tildelignsnotater" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "En liste av lagervarer må oppgis" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Notater om lagersammenslåing" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Tillat forskjellige leverandører" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "Tillat lagervarer med forskjellige leverandørdeler å slås sammen" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Tillat forskjellig status" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "Tillat lagervarer med forskjellige statuskoder å slås sammen" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "Minst to lagervarer må oppgis" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Lagervare primærnøkkel verdi" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Lager transaksjonsnotater" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "Tillatelser" msgid "Important dates" msgstr "Viktige datoer" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "Token er tilbakekalt" @@ -9927,163 +9939,163 @@ msgstr "Token er tilbakekalt" msgid "Token has expired" msgstr "Token har utløpt" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "API-Token" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "API-Tokener" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Tokennavn" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Egendefinert tokennavn" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Token utløpsdato" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Sist sett" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "Sist gang tokenet ble brukt" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Tilbakekalt" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Tillatelse satt" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Visning" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Tillatelse til å se elementer" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Legg til" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Tillatelse til å legge til elementer" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Endre" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Tillatelse til å endre elementer" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Slett" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Tillatelse til å slette elementer" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index e768feb4ce..0b530ebf61 100644 --- a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "Nie znaleziono punktu końcowego API" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Elementy muszą być podane jako lista" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Podano nieprawidłową listę artykułów" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "Wszystkie filtry muszą być używane tylko z true" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "Żaden element nie spełnia podanych kryteriów" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "Nie dostarczono danych" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Użytkownik nie ma uprawnień do przeglądania tego modelu" @@ -65,11 +65,11 @@ msgstr "Potwierdzenie adresu email" msgid "You must type the same email each time." msgstr "Należy ponownie wpisać ten sam adres e-mail." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Podany podstawowy adres e-mail jest nieprawidłowy." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Podany e-mail domeny nie został zatwierdzony." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Nie udało się przeliczyć {original} na {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" @@ -105,22 +105,22 @@ msgstr "Wprowadź dane" msgid "Invalid decimal value" msgstr "Niepoprawna wartość dziesiętna" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Uwagi" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Wartość '{name}' nie pojawia się w formacie wzoru" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Podana wartość nie pasuje do wymaganego wzoru: " @@ -164,51 +164,51 @@ msgstr "Usuń znaczniki HTML z tej wartości" msgid "Data contains prohibited markdown content" msgstr "Dane zawierają zabronione treści znacznika" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Błąd połączenia" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Serwer odpowiedział z nieprawidłowym kodem statusu" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Wystąpił wyjątek" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Serwer odpowiedział z nieprawidłową wartością Content-Length" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Rozmiar obrazu jest zbyt duży" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Przekroczono maksymalny rozmiar pobieranego obrazu" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Zdalny serwer zwrócił pustą odpowiedź" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "Podany adres URL nie jest poprawnym plikiem obrazu" @@ -220,117 +220,121 @@ msgstr "Logowanie do aplikacji" msgid "Email" msgstr "Adres E-Mail" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Musisz włączyć uwierzytelnianie dwuskładnikowe przed wykonaniem czegokolwiek innego." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Błąd podczas walidacji wtyczki" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metadane muszą być obiektem typu dict w Python" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Wtyczka Metadane" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "Pole metadanych JSON, do użycia przez wtyczki zewnętrzne" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Nieprawidłowo sformatowany wzór" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Określono nieznany format klucza" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Brak wymaganego formatu klucza" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Pole odniesienia nie może być puste" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Odniesienie musi być zgodne z wymaganym wzorem" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Numer odniesienia jest zbyt duży" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Opis (opcjonalny)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Ścieżka" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikaty nazw nie mogą istnieć pod tym samym rodzicem" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Notatki Markdown (opcjonalne)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Dane kodu kreskowego" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Dane kodu kreskowego stron trzecich" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Hasz kodu kreskowego" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Unikalny hasz danych kodu kreskowego" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Znaleziono istniejący kod kreskowy" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Błąd serwera" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Numer musi być prawidłowy" msgid "Currency" msgstr "Waluta" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Wybierz walutę z dostępnych opcji" @@ -521,11 +525,11 @@ msgstr "chiński (uproszczony)" msgid "Chinese (Traditional)" msgstr "chiński (tradycyjny)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "Dostępna aktualizacja" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "Dostępna jest aktualizacja dla InvenTree" @@ -537,7 +541,7 @@ msgstr "Niewłaściwa jednostka fizyczna" msgid "Not a valid currency code" msgstr "Nieprawidłowy kod waluty" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Status zamówienia" @@ -546,23 +550,23 @@ msgstr "Status zamówienia" msgid "Parent Build" msgstr "Budowa nadrzędna" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "Obejmuje warianty" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "Obejmuje warianty" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "Obejmuje warianty" msgid "Part" msgstr "Komponent" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Kategoria" @@ -593,7 +597,7 @@ msgstr "Kategoria" msgid "Ancestor Build" msgstr "Budowa poprzednika" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Przypisane do mnie" @@ -601,11 +605,11 @@ msgstr "Przypisane do mnie" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Stworzony przed" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Stworzony po" @@ -641,99 +645,99 @@ msgstr "Zakończone przed" msgid "Completed after" msgstr "Zakończone po" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "Minimalna data" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "Maksymalna data" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "Wyklucz drzewo" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Materiał eksploatacyjny" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Opcjonalne" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Złożenie" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Śledzony" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Testowalne" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Zaległe zamówienie" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Przydzielono" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Dostępne" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "W Zamówieniu" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Zlecenie Budowy" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Lokalizacja" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "Wyjście" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "Data docelowa musi być po dacie rozpoczęcia" msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Odwołanie do zamówienia sprzedaży" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Lokalizacja źródła" @@ -821,7 +825,7 @@ msgstr "Budowa zewnętrzna" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Lokalizacja docelowa" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Kod statusu budowania" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Kod partii" @@ -883,8 +887,8 @@ msgstr "Docelowy termin zakończenia" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Docelowa data zakończenia kompilacji. Po tej dacie kompilacja będzie zaległa." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Data zakończenia" @@ -900,7 +904,7 @@ msgstr "Wydany przez" msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Priorytet tego zamówienia produkcji" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Kod projektu" @@ -962,9 +966,9 @@ msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" @@ -999,7 +1003,7 @@ msgstr "Zbuduj obiekt" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Ilość musi wynosić 1 dla serializowanych zasobów" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Przydzielona ilość ({q}) nie może przekraczać dostępnej ilości zapasów magazynowych ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Pozycja magazynowa jest nadmiernie przydzielona" @@ -1057,8 +1061,8 @@ msgstr "Pozycja magazynowa jest nadmiernie przydzielona" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Element magazynowy" @@ -1082,7 +1086,7 @@ msgstr "Docelowa lokalizacja magazynowa przedmiotu" msgid "Build Level" msgstr "Poziom budowania" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Nazwa komponentu" @@ -1139,7 +1143,7 @@ msgstr "Automatycznie przydzielaj numery seryjne" msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatycznie przydzielaj wymagane elementy z pasującymi numerami seryjnymi" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "Poniższe numery seryjne już istnieją lub są nieprawidłowe" @@ -1272,7 +1276,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "Wersja" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Część dostawcy" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Zezwalaj na warianty" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "Element BOM" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "W produkcji" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Zew. zasoby magazynowe" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Dostępna ilość" @@ -1527,31 +1531,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "Jest plikiem" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "Lista wyboru jest zablokowana" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "Brak wtyczki" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "Ciąg musi być unikatowy" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Użytkownik" @@ -1654,8 +1658,8 @@ msgstr "Użytkownik" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Cena" @@ -1677,8 +1681,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktywny" @@ -1686,7 +1690,7 @@ msgstr "Aktywny" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Token" @@ -1756,7 +1760,7 @@ msgstr "Tytuł" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Aktywne" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Szablon" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Klucz" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} anulowany" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2524,7 +2528,7 @@ msgstr "Nazwa pliku" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "Typ modelu" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Komponent" @@ -2931,7 +2935,7 @@ msgstr "Możliwość zakupu" msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Możliwość sprzedaży" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Rozmiar strony" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Pusta domena nie jest dozwolona." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Niepoprawna nazwa domeny: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Producent" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Firma" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Kontaktowy adres e-mail" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Kontakt" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Adres" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Komponent producenta" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Wybierz producenta" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Dostawca" @@ -4448,7 +4452,7 @@ msgstr "Dostawca" msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Opakowanie" @@ -4533,7 +4537,7 @@ msgstr "Domyślna waluta używana dla tego dostawcy" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "Na stanie" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Ważny" @@ -4838,7 +4842,7 @@ msgstr "Liczba kopii do wydrukowania dla każdej etykiety" msgid "Connected" msgstr "Połączono" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Nieznany" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Grupa" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Numer zamówienia" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Utworzony przez" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "Posiada ceny" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Zamówienie" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Komponent wewnętrzny" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "Zamówienie oczekujące" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Zakończone" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Zlecenie zakupu" msgid "Sales Order" msgstr "Zamówienie zakupu" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Data docelowa" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Status" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Status zamówienia zakupu" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "odebrane przez" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Przeznaczenie" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "Pozycja nie pasuje do zlecenia zakupu" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Klient" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Odebrane" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Wysłane" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Linia" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Komponent" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Kopiuj parametry" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Data ważności" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Wersja" @@ -6382,7 +6394,7 @@ msgstr "Domyślne wygasanie" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" @@ -6390,7 +6402,7 @@ msgstr "Minimalny stan magazynowy" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "Podczęść" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Podkategorie" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Towary" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "Nie określono działania" msgid "No matching action found" msgstr "Nie znaleziono pasującej akcji" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "Nie znaleziono wyników dla danych kodu kreskowego" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Znaleziono wyniki dla danych kodu kreskowego" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "Kod kreskowy pasuje do istniejącego elementu" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "Kod kreskowy nie pasuje do istniejących pozycji magazynowych" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Nazwa szablonu" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Wzór nazwy pliku" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Filtry" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "Renderuj raport w orientacji poziomej" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Szerokość [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Wysokość [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Wycinek" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8766,200 +8778,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "Wybierz właściciela" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "Wybierz pasującą część dostawcy dla tego towaru" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Termin minął" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Podlokalizacje" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "Uprawnienia" msgid "Important dates" msgstr "Ważne daty" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Uprawnienia nadane" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Widok" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Uprawnienie do wyświetlania przedmiotów" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Dodaj" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Uprawnienie do dodawania przedmiotów" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Zmień" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Uprawnienie do edycji przedmiotów" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Usuń" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index b2a0c12242..cce1b30e52 100644 --- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Language: pt_PT\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API endpoint não encontrado" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Usuário não tem permissão para ver este modelo" @@ -65,11 +65,11 @@ msgstr "Confirmação do endereço de email" msgid "You must type the same email each time." msgstr "Você deve digitar o mesmo e-mail todas as vezes." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "O endereço primário de e-mail não é válido." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "O domínio de e-mail providenciado não foi aprovado." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Não foi possível converter {original} para {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Quantidade fornecida inválida" @@ -105,22 +105,22 @@ msgstr "Insira uma Data" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Anotações" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Valor '{name}' não está no formato correto" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "O valor fornecido não corresponde ao padrão exigido: " @@ -164,51 +164,51 @@ msgstr "Remova as \"tags\" HTML deste valor" msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Erro de conexão" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "O servidor respondeu com código estado inválido" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Ocorreu uma exceção" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "O servidor respondeu com valor inválido do tamanho de conteúdo" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Tamanho da imagem muito grande" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "O download da imagem excedeu o tamanho máximo" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "O servidor remoto retornou resposta vazia" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "A URL fornecida não é um arquivo de imagem válido" @@ -220,117 +220,121 @@ msgstr "" msgid "Email" msgstr "Email" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Erro ao executar validação do plugin" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metadados deve ser um objeto dict python" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Metadados da Extensão" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "Campo de metadados JSON, para uso por extensões externas" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Padrão formatado incorretamente" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Chave de formato desconhecida especificada" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Chave de formato obrigatória ausente" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "O campo de referência não pode ficar vazio" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "A referência deve corresponder ao padrão exigido" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "O número de referência é muito grande" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Escolha inválida" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Descrição" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Descrição (opcional)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Caminho" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Nomes duplicados não podem existir sob o mesmo parental" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Notas Markdown (opcional)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Dados de código de barras" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Dados de código de barras de terceiros" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Hash de código de barras" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Hash exclusivo de dados de código de barras" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Erro de servidor" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Preicsa ser um numero valido" msgid "Currency" msgstr "Moeda" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Selecione a Moeda nas opções disponíveis" @@ -521,11 +525,11 @@ msgstr "Chinês (Simplificado)" msgid "Chinese (Traditional)" msgstr "Chinês (Tradicional)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "Unidade física inválida" msgid "Not a valid currency code" msgstr "Não é um código de moeda válido" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Situação do pedido" @@ -546,23 +550,23 @@ msgstr "Situação do pedido" msgid "Parent Build" msgstr "Produção Progenitor" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "Peça" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Categoria" @@ -593,7 +597,7 @@ msgstr "Categoria" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "" @@ -601,11 +605,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Consumível" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Opcional" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Montagem" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Monitorado" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Alocado" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Disponível" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "No pedido" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Ordem de Produção" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Local" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Referência do pedido de venda" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Local de Origem" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Local de Destino" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Código de situação da produção" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Código de Lote" @@ -883,8 +887,8 @@ msgstr "Data alvo final" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data alvo para finalização de produção. Estará atrasado a partir deste dia." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Data de conclusão" @@ -900,7 +904,7 @@ msgstr "Emitido por" msgid "User who issued this build order" msgstr "Usuário que emitiu este pedido de produção" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Prioridade deste pedido de produção" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Código do projeto" @@ -962,9 +966,9 @@ msgstr "Saída da produção não corresponde ao Pedido de Produção" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" @@ -999,7 +1003,7 @@ msgstr "Objeto de produção" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Quantidade deve ser 1 para estoque serializado" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" @@ -1057,8 +1061,8 @@ msgstr "O item do estoque está sobre-alocado" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Item de estoque" @@ -1082,7 +1086,7 @@ msgstr "Destino do Item do Estoque" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Nome da Peça" @@ -1139,7 +1143,7 @@ msgstr "Alocar Números de Série Automaticamente" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 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" @@ -1272,7 +1276,7 @@ msgstr "Item da linha de produção" msgid "bom_item.part must point to the same part as the build order" msgstr "bin_item.part deve indicar a mesma peça do pedido de produção" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "Item deve estar em estoque" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Fornecedor da Peça" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Permitir variações" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "Item LDM" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "Em Produção" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Estoque Disponível" @@ -1527,31 +1531,31 @@ msgstr "Pedido de produção vencido" msgid "Build order {bo} is now overdue" msgstr "Pedido de produção {bo} está atrasada" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "É uma Ligação" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "É um arquivo" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "O Utilizador não tem permissão para remover este anexo" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "Nenhum código de moeda válido foi fornecido" msgid "No plugin" msgstr "Sem extensão" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "A frase senha deve ser diferenciada" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Usuario" @@ -1654,8 +1658,8 @@ msgstr "Usuario" msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Preço" @@ -1677,8 +1681,8 @@ msgstr "Nome para este webhook" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Ativo" @@ -1686,7 +1690,7 @@ msgstr "Ativo" msgid "Is this webhook active" msgstr "Este gancho web está ativo" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "" @@ -1756,7 +1760,7 @@ msgstr "Título" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "Opções válidas para este parâmetro (separadas por vírgulas)" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Habilitado" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Modelo" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Contexto" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Chave" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} cancelado" msgid "A order that is assigned to you was canceled" msgstr "Um pedido atribuído a você foi cancelado" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Itens Recebidos" @@ -2524,7 +2528,7 @@ msgstr "Nome do arquivo" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "Peças são modelos por padrão" msgid "Parts can be assembled from other components by default" msgstr "Peças podem ser montadas a partir de outros componentes por padrão" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Componente" @@ -2931,7 +2935,7 @@ msgstr "Comprável" msgid "Parts are purchaseable by default" msgstr "Peças são compráveis por padrão" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Vendível" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "Registro de erros que ocorrem ao gerar relatórios" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Tamanho da página" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Um domínio vazio não é permitido." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nome de domínio inválido: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Fabricante" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Empresa" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Endereço de e-mail do contato" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Contato" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Endereço" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "Link para as informações do endereço (externo)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Peça do Fabricante" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Selecionar fabricante" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "NPF" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Fornecedor" @@ -4448,7 +4452,7 @@ msgstr "Fornecedor" msgid "Select supplier" msgstr "Selecione o fornecedor" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Unidade de reserva de estoque fornecedor" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Embalagem" @@ -4533,7 +4537,7 @@ msgstr "Moeda padrão utilizada para este fornecedor" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "Em Estoque" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Válido" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Desconhecido" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Grupo" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Referência do Pedido" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Criado por" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Pedido" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Peça Interna" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Concluído" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Pedido de Compra" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Pedido de Compra" msgid "Sales Order" msgstr "Pedido de Venda" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Devolver pedido" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "Descrição do pedido (opcional)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Selecione o código do projeto para este pedido" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Link para página externa" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Data alvo" @@ -5184,487 +5188,487 @@ msgstr "Ponto de contato para este pedido" msgid "Company address for this order" msgstr "Endereço da empresa para este pedido" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Referência do pedido" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Situação" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Situação do pedido de compra" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Empresa da qual os itens estão sendo encomendados" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Referencia do fornecedor" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Código de referência do pedido fornecedor" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "recebido por" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "Dia que o pedido foi concluído" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Destino" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "Fornecedor de peça deve corresponder a fornecedor da OC" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "O item de linha não corresponde ao pedido de compra" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "Quantidade deve ser um número positivo" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Cliente" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Empresa para qual os itens foi vendidos" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Referência do Cliente " -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Código de Referência do pedido do cliente" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Data de Envio" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "enviado por" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Apenas um pedido aberto pode ser marcado como completo" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Pedido não pode ser concluído, pois, há envios incompletos" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "Pedido não pode ser concluído, pois, há itens na linha incompletos" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Quantidade do item" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Referência do Item em Linha" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Observações do Item de Linha" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Data alvo para este item de linha (deixe em branco para usar a data alvo do pedido)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Descrição item de linha (opcional)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "Contexto adicional para esta linha" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Preço Unitário" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "A peça do fornecedor deve corresponder ao fornecedor" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Fornecedor da Peça" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Recebido" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Número de itens recebidos" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Preço de Compra" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Preço unitário de compra" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "Apenas peças vendáveis podem ser atribuídas a um pedido de venda" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Preço de Venda" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Preço de venda unitário" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Enviado" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Quantidade enviada" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Data do envio" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Data de Entrega" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Data da entrega do envio" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Verificado por" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Usuário que verificou esta remessa" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Remessa" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Número do Envio" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Número de Rastreamento" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Informação de rastreamento da remessa" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Número da Fatura" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Número de referência para fatura associada" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "O pedido já foi enviado" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "Remessa não foi alocada nos itens de estoque" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "O item do estoque não foi atribuído" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "Não é possível alocar o item de estoque para uma linha de uma peça diferente" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "Não é possível alocar uma linha sem uma peça" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A quantidade de alocação não pode exceder a quantidade em estoque" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "Quantidade deve ser 1 para item de estoque serializado" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "Pedidos de venda não coincidem com a remessa" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "Remessa não coincide com pedido de venda" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Linha" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Referência de remessa do pedido de venda" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Selecione o item de estoque para alocar" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Insira a quantidade de atribuição de estoque" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "Referência de Pedidos de Devolução" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Empresa da qual os itens estão sendo retornados" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "Estado do pedido de retorno" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Selecione o item a ser devolvido pelo cliente" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Data de Recebimento" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Despesa/gastos" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Gastos com esta linha de itens" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Gastos para reparar e/ou devolver esta linha de itens" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Copiar Parâmetros" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "Código (SKU)" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Numero interno do produto" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Digite o código do lote para itens de estoque recebidos" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Data de validade" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "Palavras-chave padrão para peças nesta categoria" msgid "Icon" msgstr "Ícone" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Ícone (opcional)" @@ -6349,7 +6361,7 @@ msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "Revisão de peça ou número de versão" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Revisão" @@ -6382,7 +6394,7 @@ msgstr "Validade Padrão" msgid "Expiry time (in days) for stock items of this part" msgstr "Validade (em dias) para itens do estoque desta peça" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Estoque Mínimo" @@ -6390,7 +6402,7 @@ msgstr "Estoque Mínimo" msgid "Minimum allowed stock level" msgstr "Nível mínimo de estoque permitido" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "Sub peça" msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na LDM" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "Categoria de peça pai" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Sub-categorias" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Moeda de compra deste item de estoque" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Peça Original" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Selecione a peça original para duplicar" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Copiar imagem" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Copiar LDM" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "Copiar lista de materiais da peça original" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "Copiar dados do parâmetro da peça original" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Quantidade Inicial de Estoque" -#: part/serializers.py:474 +#: part/serializers.py:485 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:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Local Inicial do Estoque" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Especifique o local do estoque inicial para esta Peça" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Selecione o fornecedor (ou deixe em branco para pular)" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Selecione fabricante (ou deixe em branco para pular)" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Número de Peça do Fabricante" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "A empresa selecionada não é um fornecedor válido" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "A empresa selecionada não é um fabricante válido" -#: part/serializers.py:552 +#: 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" -#: part/serializers.py:559 +#: 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" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Nome da Categoria" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "Produzindo" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Itens de Estoque" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Estoque Total" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Peça duplicada" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "Copiar dados iniciais de outra peça" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Estoque inicial" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "Criar peça com a quantidade inicial de estoque" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Informações do Fornecedor" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "Adicionar informação inicial de fornecedor para esta peça" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Copiar Parâmetros da Categoria" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "Copiar modelos de parâmetros a partir de categoria de peça selecionada" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Imagem Existente" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "Nome de arquivo de uma imagem de peça existente" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "A imagem não existe" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Validar a Lista de Materiais completa" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Pode Produzir" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Preço Mínimo" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Sobrepor valor calculado para preço mínimo" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Moeda do preço mínimo" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Preço Máximo" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "Sobrepor valor calculado para preço máximo" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Moeda do preço máximo" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Atualizar" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "Atualizar preços desta peça" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Não foi possível converter das moedas fornecidas para {default_currency}" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "Preço mínimo não pode ser maior que o preço máximo" -#: part/serializers.py:1583 +#: part/serializers.py:1594 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:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "Selecionar peça para copiar a LDM" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Remover Dado Existente" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "Remova itens LDM existentes antes de copiar" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Incluir Herdados" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluir itens LDM que são herdados de peças modelo" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Pular Linhas inválidas" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Habilitar esta opção para pular linhas inválidas" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Copiar Peças Substitutas" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copiar peças de substitutas quando duplicar itens de LDM" @@ -7326,91 +7338,91 @@ msgstr "Nenhuma ação especificada" msgid "No matching action found" msgstr "Nenhuma ação correspondente encontrada" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "Nenhum resultado encontrado para os dados do código de barras" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Coincidência encontrada para dados de código de barras" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "Código de barras corresponde ao item existente" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "Nenhuma informação de peça correspondente encontrada" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "Nenhuma peça de fornecedor correspondente encontrada" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "Múltiplas peças de fornecedores correspondentes encontradas" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "Peça de fornecedor correspondente" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "Item do pedido já foi recebido" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "Diversos itens de linha correspondentes encontrados" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "Nenhum item de linha correspondente encontrado" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "Código de barras não corresponde a item de estoque válido" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "Item do estoque não corresponde ao item de linha" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "Estoque insuficiente disponível" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "Item de estoque atribuído para pedido de venda" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "Não há informação suficiente" @@ -7992,7 +8004,7 @@ msgstr "Borda" msgid "Print a border around each label" msgstr "Imprima uma borda em torno de cada etiqueta" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "Paisagem" @@ -8481,136 +8493,136 @@ msgstr "Ofício" msgid "Letter" msgstr "Carta" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Nome do modelo" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Padrão de Nome de Arquivo" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Filtros" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "Tamanho da página para relatórios PDF" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "Renderizar relatório em orientação paisagem" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Largura [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Largura da etiqueta, em mm" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Altura [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Altura da Etiqueta, em mm" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Recorte" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Relatar arquivo de recorte" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Descrição do arquivo de recorte" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Patrimônio" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Reportar arquivo de ativos" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Descrição do arquivo de ativos" @@ -8766,200 +8778,200 @@ msgstr "Nenhum resultado" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "Arquivo de imagem não encontrado" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "Tag part_image necessita de uma instância de Peça" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "Tag company_image necessita de uma instância de Empresa" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Código da situação" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Localização externa" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "Árvore de Peças" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "Data de validade antes" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "Data de validade depois" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "Inativo" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "Quantidade obrigatória" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "Uma peça válida deve ser fornecida" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "A peça do fornecedor informado não existe" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "A peça do fornecedor tem um tamanho de pacote definido, mas o item use_pack_size não foi definida" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Números de série não podem ser fornecidos para uma parte não rastreável" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "Selecionar Responsável" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Os itens de estoque podem não estar diretamente localizados em um local de estoque estrutural, mas podem ser localizados em locais filhos." -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Externo" @@ -9101,7 +9113,7 @@ msgstr "Selecione uma peça do fornecedor correspondente para este item de estoq msgid "Where is this stock item located?" msgstr "Onde está localizado este item de estoque?" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "Embalagem deste item de estoque está armazenado em" @@ -9117,7 +9129,7 @@ msgstr "Este item está instalado em outro item?" msgid "Serial number for this item" msgstr "Número de série para este item" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Código do lote para este item de estoque" @@ -9234,7 +9246,7 @@ msgstr "Item no estoque está em produção no momento" msgid "Serialized stock cannot be merged" msgstr "Itens de série não podem ser mesclados" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Item de estoque duplicado" @@ -9398,7 +9410,7 @@ msgstr "Inserir número de série para novos itens" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Expirado" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Quantidade não deve exceder a quantidade disponível em estoque ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Local de destino do estoque" @@ -9501,127 +9513,127 @@ msgstr "Selecionar itens de estoque para mudar estados" msgid "No stock items selected" msgstr "Nenhum item de estoque selecionado" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Sub-locais" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "Parte deve ser comercializável" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "Item é alocado para um pedido de venda" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "Item está alocado a um pedido de produção" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "Cliente para atribuir itens de estoque" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "A empresa selecionada não é um cliente" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Nodas atribuídas a estoque" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "Uma lista de item de estoque deve ser providenciada" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Notas de fusão de estoque" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Permitir fornecedores divergentes" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "Permitir a fusão de itens de estoque de fornecedores diferentes" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Permitir estado incompatível" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "Permitir a fusão de itens de estoque com estado diferentes" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "Ao menos dois itens de estoque devem ser providenciados" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Valor da chave primária do Item Estoque" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Notas da transação de estoque" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "Permissões" msgid "Important dates" msgstr "Datas importantes" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "O token foi revogado" @@ -9927,163 +9939,163 @@ msgstr "O token foi revogado" msgid "Token has expired" msgstr "Token expirou" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "Token da API" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "Tokens de API" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Nome do Token" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Nome de token personalizado" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Data de validade do token" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Visto pela Última Vez" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "Última vez que o token foi usado" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Revogado" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Permissão definida" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Visualizar" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Permissão para ver itens" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Adicionar" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Permissão para adicionar itens" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Alterar" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Permissões para editar itens" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Excluir" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Permissão para excluir itens" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po index 89d30a054c..f4485cf01e 100644 --- a/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API endpoint não encontrado" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "Uma lista de itens deve ser fornecida para a operação em massa" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Os itens devem ser fornecidos como lista" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Lista de itens inválida fornecida" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "Todos os filtros devem ser usados apenas como verdadeiro" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "Nenhum item corresponde com os critérios fornecidos" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "Nenhum dado fornecido" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "Este campo deve ser único." -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "O usuário não tem permissão para visualizar esse modelo" @@ -65,11 +65,11 @@ msgstr "E-mail de confirmação" msgid "You must type the same email each time." msgstr "Você deve digitar o mesmo e-mail todas às vezes." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "O endereço de e-mail fornecido não é válido." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "O domínio de e-mail fornecido não foi aprovado." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Não foi possível converter {original} para {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Quantidade inválida" @@ -105,22 +105,22 @@ msgstr "Informe a data" msgid "Invalid decimal value" msgstr "Valor decimal inválido" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Observações" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "O valor '{name}' não aparece no formato padrão" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "O valor fornecido não corresponde ao padrão exigido: " @@ -164,51 +164,51 @@ msgstr "Remover as \"tags\" HTML deste valor" msgid "Data contains prohibited markdown content" msgstr "Os dados contêm conteúdo de marcação proibido" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "URL inválida: sem nome de host" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "URL inválida: não foi possível resolver o nome de host" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "A URL aponta para um endereço IP privado ou reservado" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "Redirecionamentos em excesso" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Erro de conexão" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "O servidor respondeu com código de estado inválido" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Ocorreu uma exceção" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "O servidor respondeu com valor inválido do tamanho de conteúdo" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "O tamanho da imagem é grande demais" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "O download da imagem excedeu seu tamanho máximo" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "O servidor remoto retornou uma resposta vazia" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "A URL fornecida não é um arquivo de imagem válido" @@ -220,117 +220,121 @@ msgstr "Entrar no aplicativo" msgid "Email" msgstr "E-mail" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "Falha na verificação CSRF. Certifique-se de que INVENTREE_SITE_URL e INVENTREE_TRUSTED_ORIGINS estejam configurados corretamente." + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Você deve habilitar a autenticação de dois fatores antes de fazer qualquer coisa." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Erro ao executar a validação do plugin" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metadados deve ser um objeto dict python" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Plugin de metadados" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "Campo de metadados JSON, para uso de plugins externos" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Padrão formatado incorretamente" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Chave de formato desconhecida especificada" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Chave de formato obrigatório ausente" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "O campo de referência não deve ficar vazio" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "A referência deve corresponder ao padrão exigido" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "O número de referência é muito longo" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Escolha inválida" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Descrição" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Descrição (opcional)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Caminho" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Nomes duplicados não podem existir sob o mesmo parental" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Notas markdown (opcional)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Dados de código de barras" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Dados de código de barras de terceiros" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Hash de código de barras" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Hash exclusivo de dados de código de barras" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Erro de servidor" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Um erro foi registrado pelo servidor." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Deve ser um número válido" msgid "Currency" msgstr "Moeda" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Selecione a moeda entre as opções disponíveis" @@ -521,11 +525,11 @@ msgstr "Chinês (simplificado)" msgid "Chinese (Traditional)" msgstr "Chinês (tradicional)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "Atualização disponível" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "Uma atualização para o InvenTree está disponível" @@ -537,7 +541,7 @@ msgstr "Unidade física inválida" msgid "Not a valid currency code" msgstr "O código de moeda não é válido" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Status de pedido" @@ -546,23 +550,23 @@ msgstr "Status de pedido" msgid "Parent Build" msgstr "Produção principal" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "Incluir variáveis" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "Incluir variáveis" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "Incluir variáveis" msgid "Part" msgstr "Peça" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Categoria" @@ -593,7 +597,7 @@ msgstr "Categoria" msgid "Ancestor Build" msgstr "Construção de ancestrais" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Atribuído a mim" @@ -601,11 +605,11 @@ msgstr "Atribuído a mim" msgid "Assigned To" msgstr "Atribuído a" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Criado antes" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Criado após" @@ -641,99 +645,99 @@ msgstr "Concluído antes" msgid "Completed after" msgstr "Concluído após" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "Data mínima" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "Data máxima" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "Excluir árvore" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "A produção deve ser cancelada antes de ser excluída" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Consumível" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Opcional" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Montagem" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Rastreado" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Testável" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Pedido pendente" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Alocado" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "Consumido" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Disponível" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "Em pedido" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "Produção não encontrada" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Pedido de produção" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Local" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "Saída" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "Filtrar por ID do item de estoque de saída. Use 'null' para encontrar itens de produção não instalados." @@ -773,9 +777,9 @@ msgstr "A data limite deve ser posterior à data inicial" msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Referência do pedido de venda" msgid "Sales Order to which this build is allocated" msgstr "Pedido de venda ao qual esta produção está alocada" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Local de origem" @@ -821,7 +825,7 @@ msgstr "Produção externa" msgid "This build order is fulfilled externally" msgstr "Este pedido de produção é atendido externamente" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Local de destino" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Código de situação da produção" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Código do lote" @@ -883,8 +887,8 @@ msgstr "Data alvo final" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data limite para finalização de produção. Estará atrasado a partir deste dia." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Data de conclusão" @@ -900,7 +904,7 @@ msgstr "Emitido por" msgid "User who issued this build order" msgstr "Usuário que emitiu este pedido de produção" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Prioridade deste pedido de produção" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Código do projeto" @@ -962,9 +966,9 @@ msgstr "Saída da produção não corresponde à pedido de produção" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" @@ -999,7 +1003,7 @@ msgstr "Compilar objeto" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Quantidade deve ser 1 para estoque serializado" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "O item de estoque está superalocado" @@ -1057,8 +1061,8 @@ msgstr "O item de estoque está superalocado" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Item de estoque" @@ -1082,7 +1086,7 @@ msgstr "Destino do item do estoque" msgid "Build Level" msgstr "Nível de produção" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Nome da peça" @@ -1139,7 +1143,7 @@ msgstr "Alocar números de série automaticamente" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 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" @@ -1272,7 +1276,7 @@ msgstr "Item da linha de produção" msgid "bom_item.part must point to the same part as the build order" msgstr "Bom_item.part deve apontar para a mesma peça que a pedido de produção" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "O item deve estar em estoque" @@ -1385,8 +1389,8 @@ msgstr "Instalar em" msgid "Build" msgstr "Produção" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Fornecedor da peça" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Permitir variantes" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "Item BOM" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "Em produção" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "Agendado para produção" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Estoque externo" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Estoque disponível" @@ -1527,31 +1531,31 @@ msgstr "Pedido de produção vencido" msgid "Build order {bo} is now overdue" msgstr "Pedido de produção {bo} está atrasada" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "Tem miniatura" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "É um link" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "É um arquivo" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "O usuário não tem permissão para excluir esses anexos" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "O usuário não tem permissão para editar este anexo" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "O usuário não tem permissão para excluir esse anexo" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "Lista de seleção bloqueada" @@ -1571,8 +1575,8 @@ msgstr "Nenhum código de moeda válido fornecido" msgid "No plugin" msgstr "Sem extensão" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "Marcadores" @@ -1645,8 +1649,8 @@ msgstr "A frase senha deve ser diferenciada" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Usuário" @@ -1654,8 +1658,8 @@ msgstr "Usuário" msgid "Price break quantity" msgstr "Quantidade de parcelamentos" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Preço" @@ -1677,8 +1681,8 @@ msgstr "Nome para este webhook" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Ativo" @@ -1686,7 +1690,7 @@ msgstr "Ativo" msgid "Is this webhook active" msgstr "Este webhook está ativo" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Ficha" @@ -1756,7 +1760,7 @@ msgstr "Título" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "Opções válidas para este parâmetro (separadas por vírgula)" msgid "Selection list for this parameter" msgstr "Lista de seleção para este parâmetro" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Habilitado" @@ -2204,8 +2208,8 @@ msgstr "ID do modelo" msgid "ID of the target model for this parameter" msgstr "ID do modelo de destino para este parâmetro" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Modelo" @@ -2262,7 +2266,7 @@ msgstr "Data/hora da verificação do código de barras" msgid "URL endpoint which processed the barcode" msgstr "O endpoint da URL que processou o código de barras" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Contexto" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "Tópicos de e-mail" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Chave" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} cancelado" msgid "A order that is assigned to you was canceled" msgstr "Um pedido atribuído a você foi cancelado" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Itens recebidos" @@ -2524,7 +2528,7 @@ msgstr "Nome do arquivo" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "Categoria de modelo" @@ -2914,8 +2918,8 @@ msgstr "Peças são modelos por padrão" msgid "Parts can be assembled from other components by default" msgstr "Peças podem ser montadas a partir de outros componentes por padrão" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Componente" @@ -2931,7 +2935,7 @@ msgstr "Comprável" msgid "Parts are purchaseable by default" msgstr "Peças são compráveis por padrão" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Comercializável" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "Registrar erros que ocorrem ao gerar relatórios" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Tamanho da página" @@ -4128,49 +4132,49 @@ msgstr "Exibir itens no nível final" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "Exibir automaticamente itens/peças em vez de subníveis para locais ou categorias sem filhos" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "Todos os modelos" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "Nenhum modelo de anexo fornecido" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "Categoria de modelo de anexo inválido" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "O tamanho do arquivo excede o limite máximo de envio de {max_size} MB" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "Nome de arquivo inválido" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "Os lugares mínimos não podem ser maiores que os máximos" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "Os lugares maiores não podem ser menores que os máximos" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Um domínio vazio não é permitido." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nome de domínio inválido: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "Valor deve ser maiúsculo" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "O valor deve ser um identificador de variável válido" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "O fornecedor está ativo" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Fabricante" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Empresa" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Endereço de e-mail do contato" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Contato" @@ -4297,7 +4301,7 @@ msgstr "CNPJ" msgid "Company Tax ID" msgstr "CNPJ da empresa" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Endereço" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "Link para as informações do endereço (externo)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Fabricante da peça" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Selecionar fabricante" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "NPF" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Peça do fabricante vinculado deve fazer referência à mesma peça base" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Fornecedor" @@ -4448,7 +4452,7 @@ msgstr "Fornecedor" msgid "Select supplier" msgstr "Selecione o fornecedor" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Unidade de reserva de estoque fornecedor" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Embalagem" @@ -4533,7 +4537,7 @@ msgstr "Moeda padrão utilizada para este fornecedor" msgid "Company Name" msgstr "Nome da empresa" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "Em estoque" @@ -4643,11 +4647,11 @@ msgstr "Alguns campos necessários não foram mapeados" #: importer/models.py:413 msgid "Completed Row Count History" -msgstr "" +msgstr "Histórico de contagem de linhas concluídas" #: importer/models.py:416 msgid "Row Count History" -msgstr "" +msgstr "Histórico de contagem de linhas" #: importer/models.py:439 msgid "ID" @@ -4722,7 +4726,7 @@ msgstr "Dados da linha original" msgid "Errors" msgstr "Erros" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Válido" @@ -4838,7 +4842,7 @@ msgstr "Número de cópias para cada rótulo" msgid "Connected" msgstr "Conectado" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Desconhecido" @@ -4942,7 +4946,7 @@ msgstr "Chave da propriedade" msgid "Value of the property" msgstr "Valor da propriedade" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Grupo" @@ -4966,118 +4970,118 @@ msgstr "Progresso máximo" msgid "Maximum value for progress type, required if type=progress" msgstr "Valor máximo para o tipo progresso, obrigatório se type=progress" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Referência do pedido" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "Pendente" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "Tem código do projeto" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Criado por" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "Criado antes" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "Criado após" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "Tem data inicial" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "Data inicial antes" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "Data inicial após" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "Tem data prevista" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "Data prevista antes" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "Data prevista antes" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "Atualizado antes de" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "Atualizado após" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "Tem preço" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "Concluído antes" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "Concluído após" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "Pedido de produção vencido" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Pedido" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "Pedido completo" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Peça interna" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "Pedido pendente" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Concluído" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "Possui envio" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "Remessa não encontrada" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Pedido de compra" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Pedido de compra" msgid "Sales Order" msgstr "Pedido de venda" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Pedido de devolução" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "Pedido de transferência" @@ -5135,11 +5139,11 @@ msgstr "O endereço não corresponde à empresa selecionada" msgid "Order description (optional)" msgstr "Descrição do pedido (opcional)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Selecione o código do projeto para este pedido" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Link para página externa" @@ -5151,7 +5155,7 @@ msgstr "Data inicial" msgid "Scheduled start date for this order" msgstr "Data de início programada para esta encomenda" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Data prevista" @@ -5184,487 +5188,487 @@ msgstr "Ponto de contato para este pedido" msgid "Company address for this order" msgstr "Endereço da empresa para este pedido" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Referência do pedido" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Status" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Estado do pedido" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Empresa da qual os itens estão sendo encomendados" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Referência do fornecedor" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Código de referência do pedido fornecedor" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "Recebido por" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "Dia que o pedido foi concluído" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Destino" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "Destino para os itens recebidos" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "Fornecedor de peça deve corresponder a fornecedor da OC" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "O item de linha não corresponde ao pedido de compra" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "O item de linha está sem uma peça vinculada" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "Quantidade deve ser um número positivo" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "Números de série não podem ser atribuídos a peças virtuais" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "Permitir qualquer estoque (serializado ou não)" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "Apenas estoque serializado" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "Apenas estoque não serializado" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Cliente" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Empresa para qual os itens foi vendidos" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "Situação do pedido de venda" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Referência do cliente " -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Código de referência do pedido do cliente" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Data de envio" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "Enviado por" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "O pedido já está completo" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "O pedido já está cancelado" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Apenas um pedido aberto pode ser marcado como completo" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Pedido não pode ser concluído, pois, há envios incompletos" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "O pedido não pode ser concluído, pois, há alocações incompletas" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "O pedido não pode ser concluído, pois, há itens de linha incompletos" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "O pedido está bloqueado e não pode ser modificado" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Quantidade do item" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "Número da linha" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "Número da linha para este item (opcional)" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Referência do item em linha" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Observações do item de linha" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Data limite para este item de linha (deixe em branco para usar a data limite do pedido)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Descrição do item de linha (opcional)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "Contexto adicional para esta linha" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Preço unitário" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "Item de linha de pedido de compra" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "A peça do fornecedor deve corresponder ao fornecedor" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "Pedido de produção deve ser marcada como externa" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "Os pedidos de produção só podem ser vinculados a peças de montagem" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "Criar peça do pedido deve combinar a peça do item de linha" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "Um pedido de produção externo é necessário para peças de montagem" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Fornecedor da peça" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Recebido" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Número de itens recebidos" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Preço de compra" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Preço unitário de compra" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "Pedido de produção externa para ser preenchida por este item de linha" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "Linha extra do pedido de compra" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "Item de linha de pedido de vendas" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "Apenas peças vendáveis podem ser atribuídas a um pedido de venda" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Preço de venda" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Preço de venda unitário" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Enviado" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Quantidade enviada" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "Envio do pedido de venda" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "O endereço da remessa deve corresponder ao cliente" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "Endereço de entrega desta remessa" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Data do envio" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Data de entrega" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Data da entrega do envio" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Verificado por" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Usuário que verificou este envio" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Envio" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Número do envio" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Número de rastreio" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Informação de rastreamento" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Número da nota fiscal" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Número de referência da nota fiscal associada" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "A remessa já foi enviada" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "A remessa não tem itens de estoque alocados" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "A remessa deve ser verificada antes de ser concluída" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "Linha extra do pedido de venda" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "Alocação do pedido de venda" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "O item de estoque não foi atribuído" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "Não é possível alocar um item de estoque a uma linha com uma peça diferente" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "Não é possível alocar estoque a uma linha sem peça" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A quantidade alocada não pode exceder a quantidade em estoque" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "A quantidade deve ser 1 para um item de estoque serializado" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "O pedido de venda não corresponde à remessa" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "A remessa não corresponde ao pedido de venda" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Linha" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Referência da remessa do pedido de venda" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Item" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Selecionar item de estoque a alocar" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Inserir a quantidade de alocação de estoque" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "Referência do pedido de devolução" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Empresa da qual os itens estão sendo devolvidos" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "Status do pedido de devolução" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "Item de linha do pedido de devolução" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "O item de estoque deve ser especificado" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "A quantidade de devolução excede a quantidade em estoque" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "A quantidade de devolução deve ser maior que zero" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "Quantidade inválida para item de estoque serializado" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Selecionar item a devolver do cliente" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Data de recebimento" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "A data em que este item de devolução foi recebido" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Resultado" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Resultado para este item de linha" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Custo associado à devolução ou reparo deste item de linha" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "Linha extra do pedido de devolução" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "Referência do pedido de transferência" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "Status do pedido de transferência" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "Origem dos itens transferidos" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "Destino dos itens transferidos" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "Consumir estoque" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "Em vez de transferir o estoque para o destino, \"consuma\" o estoque removendo a quantidade transferida do item de estoque alocado" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "O pedido não pode ser concluído até que um local de destino seja definido" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "O pedido não pode ser concluído até estar totalmente alocado" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "Item de linha do pedido de transferência" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "transferido" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "quantidade transferida" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "Alocação do pedido de transferência" @@ -5692,7 +5696,7 @@ msgstr "Copiar linhas extras" msgid "Copy extra line items from the original order" msgstr "Copiar itens de linha extras do pedido original" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Copiar parâmetros" @@ -5784,11 +5788,11 @@ msgstr "Mesclar itens" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Mesclar itens com a mesma peça, destino e data prevista em um único item de linha" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "Código (SKU)" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Número interno da peça" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Inserir código de lote para os itens de estoque recebidos" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Data de validade" @@ -6056,123 +6060,131 @@ msgstr "Pedido de devolução atrasado" msgid "Return order {ro} is now overdue" msgstr "O pedido de devolução {ro} está atrasado" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "Favorito" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "Filtrar por categorias favoritas" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Profundidade" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "Filtrar por profundidade da categoria" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "Nível superior" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "Filtrar por categorias de nível superior" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "Cascata" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "Incluir subcategorias nos resultados filtrados" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "Pai" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "Filtrar por categoria pai" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "Excluir subcategorias da categoria especificada" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "Nível máximo" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "Limitar a profundidade da árvore de categorias" + +#: part/api.py:442 msgid "Has Results" msgstr "Tem resultados" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "É variante" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "É revisão" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "Tem revisões" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "BOM válida" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "Categorias em cascata" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "Se verdadeiro, inclui itens nas categorias filhas da categoria informada" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Filtrar por ID numérico da categoria ou o literal 'null'" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "A peça de montagem está ativa" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "A peça de montagem é rastreável" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "A peça de montagem é testável" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "A peça de montagem está bloqueada" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "A peça componente está ativa" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "A peça componente é rastreável" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "A peça componente é testável" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "A peça componente é uma montagem" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "A peça componente é virtual" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "Tem estoque disponível" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "Usos" @@ -6213,7 +6225,7 @@ msgstr "Palavras-chave padrão para peças nesta categoria" msgid "Icon" msgstr "Ícone" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Ícone (opcional)" @@ -6349,7 +6361,7 @@ msgstr "Palavras-chave da peça para melhorar a visibilidade nos resultados de b msgid "Part category" msgstr "Categoria da peça" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6358,7 +6370,7 @@ msgstr "IPN" msgid "Part revision or version number" msgstr "Revisão da peça ou número da versão" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Revisão" @@ -6382,7 +6394,7 @@ msgstr "Validade padrão" msgid "Expiry time (in days) for stock items of this part" msgstr "Validade (em dias) para itens do estoque desta peça" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Estoque mínimo" @@ -6390,7 +6402,7 @@ msgstr "Estoque mínimo" msgid "Minimum allowed stock level" msgstr "Nível mínimo de estoque permitido" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "Estoque máximo" @@ -6759,7 +6771,7 @@ msgstr "Sub peça" msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na lista de materiais" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "Quantidade" @@ -6911,351 +6923,351 @@ msgstr "Categoria pai" msgid "Parent part category" msgstr "Categoria de peça pai" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Subcategorias" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "Resultados" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "Número de resultados registrados para este modelo" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Moeda de compra deste item de estoque" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "O arquivo não é uma imagem" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Peça original" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Selecionar peça original para duplicar" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Copiar imagem" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Copiar lista de materiais" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "Copiar lista de materiais da peça original" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "Copiar dados de parâmetro da peça original" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Copiar notas" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "Copiar notas da peça original" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "Copiar testes" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "Copiar modelos de teste da peça original" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Quantidade inicial de estoque" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Especifique a quantidade inicial de estoque para esta peça. Se a quantidade for zero, nenhum estoque é adicionado." -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Local inicial de estoque" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Especifique o local inicial de estoque para esta peça" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Selecionar fornecedor (ou deixar em branco para pular)" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Selecionar fabricante (ou deixar em branco para pular)" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Número de peça do fabricante" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "A empresa selecionada não é um fornecedor válido" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "A empresa selecionada não é um fabricante válido" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "Já existe uma peça de fabricante com este MPN" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "Já existe uma peça de fornecedor com este SKU" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Nome da categoria" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "Em produção" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "Quantidade desta peça atualmente em produção" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Quantidade pendente desta peça programada para produção" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Itens de estoque" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "Revisões" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Estoque total" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "Estoque não alocado" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "Estoque de variante" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Duplicar peça" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "Copiar dados iniciais de outra peça" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Estoque inicial" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "Criar peça com quantidade inicial de estoque" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Informações do fornecedor" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "Adicionar informações iniciais de fornecedor para esta peça" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Copiar parâmetros da categoria" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "Copiar modelos de parâmetro da categoria de peças selecionada" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Imagem existente" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "Nome do arquivo de uma imagem de peça existente" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "O arquivo de imagem não existe" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Validar toda a lista de materiais" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Pode produzir" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "Necessário para pedidos de produção" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "Alocado para pedidos de produção" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "Necessário para pedidos de venda" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "Alocado para pedidos de venda" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "IPN da peça" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "Descrição da peça" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "Selecione uma peça para gerar informações de inventário para essa peça (e quaisquer peças variantes)" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "Selecione uma categoria para incluir todas as peças dentro dela (e subcategorias)" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "Selecione um local para incluir todas as peças com estoque nesse local (incluindo sublocais)" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "Gerar registros de inventário" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "Salvar registros de inventário para as peças selecionadas" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "Gerar relatório" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "Gerar um relatório de inventário para as peças selecionadas" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Preço mínimo" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Substituir o valor calculado do preço mínimo" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Moeda do preço mínimo" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Preço máximo" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "Substituir o valor calculado do preço máximo" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Moeda do preço máximo" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Atualizar" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "Atualizar preços desta peça" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Não foi possível converter das moedas informadas para {default_currency}" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "O preço mínimo não pode ser maior que o preço máximo" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "O preço máximo não pode ser menor que o preço mínimo" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "Quantidade necessária para este item (pode incluir unidades)" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "Selecionar a montagem pai" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "Selecionar a peça componente" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "Formato de quantidade inválido" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "Selecionar peça da qual copiar a lista de materiais" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Remover dados existentes" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "Remover itens existentes da lista de materiais antes de copiar" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Incluir herdados" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluir itens da lista de materiais herdados de peças modelo" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Ignorar linhas inválidas" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Habilite essa opção para ignorar linhas inválidas" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Copiar peças substitutas" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copiar peças substitutas ao duplicar itens da lista de materiais" @@ -7326,91 +7338,91 @@ msgstr "Nenhuma ação especificada" msgid "No matching action found" msgstr "Nenhuma ação correspondente encontrada" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "Nenhum resultado encontrado para os dados do código de barras" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Correspondência encontrada para dados de código de barras" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "Modelo não suportado" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "Instância do modelo não encontrada" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "Código de barras corresponde ao item existente" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "Nenhum dado de peça correspondente encontrado" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "Nenhuma peça de fornecedor correspondente encontrada" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "Várias peças de fornecedor correspondentes encontradas" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "Nenhum plugin correspondente encontrado para os dados do código de barras" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "Peça de fornecedor correspondente" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "O item já foi recebido" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "Pedido de compra encontrado\\rNenhuma peça de fornecedor correspondente" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "Peça de fornecedor encontrada\\rNenhum pedido de compra correspondente" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "Nenhum plugin correspondente para o código de barras do fornecedor" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "Vários itens de linha correspondentes encontrados" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "Nenhum item de linha correspondente encontrado" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "Nenhum pedido de venda fornecido" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "O código de barras não corresponde a um item de estoque existente" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "O item de estoque não corresponde ao item de linha" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "Estoque disponível insuficiente" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "Item de estoque alocado ao pedido de venda" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "Informações insuficientes" @@ -7992,7 +8004,7 @@ msgstr "Margem" msgid "Print a border around each label" msgstr "Imprimir uma borda ao redor de cada etiqueta" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "Paisagem" @@ -8481,136 +8493,136 @@ msgstr "Ofício" msgid "Letter" msgstr "Carta" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "Já existe um arquivo de modelo com este nome" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Nome do modelo" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "Descrição do modelo" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "Número da revisão (incrementa automaticamente)" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "Anexar ao modelo ao imprimir" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Salvar a saída do relatório como anexo na instância do modelo vinculado ao imprimir" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Padrão de nome de arquivo" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "Padrão para gerar nomes de arquivo" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "O modelo está habilitado" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "Tipo de modelo de destino para o modelo" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Filtros" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "Filtros de consulta do modelo (lista separada por vírgula de pares chave=valor)" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "Arquivo modelo" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "Tamanho da página para relatórios PDF" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "Renderizar o relatório na orientação paisagem" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "Mesclar" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "Renderizar um único relatório para os itens selecionados" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "Relatório gerado a partir do modelo {self.name}" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "Erro de sintaxe no modelo" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "Erro ao renderizar o relatório" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "Erro ao gerar o relatório" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "Erro ao mesclar as saídas do relatório" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Largura [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Largura da etiqueta, em mm" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Altura [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Altura da etiqueta, em mm" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "Erro ao imprimir etiquetas" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Trecho" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Arquivo de trecho do relatório" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Descrição do arquivo de trecho" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Recurso" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Arquivo de recurso do relatório" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Descrição do arquivo de recurso" @@ -8766,200 +8778,200 @@ msgstr "Sem resultado" msgid "Transferred" msgstr "Transferido" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "Caminho de arquivo de mídia inválido" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "Caminho de arquivo estático inválido" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "Arquivo de recurso não encontrado" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "Arquivo de imagem não encontrado" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "Nenhum arquivo de imagem especificado" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "A tag part_image requer uma instância de Part" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "A tag company_image requer uma instância de Company" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "Filtrar por profundidade do local" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "Filtrar por locais de nível superior" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "Incluir sublocais nos resultados filtrados" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "Local pai" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "Filtrar por local pai" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "Nome da peça (não diferencia maiúsculas)" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "Nome da peça contém (não diferencia maiúsculas)" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "Nome da peça (regex)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "IPN da peça (não diferencia maiúsculas)" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "IPN da peça contém (não diferencia maiúsculas)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "IPN da peça (regex)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "Estoque mínimo" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "Estoque máximo" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Código de status" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Local externo" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "Consumido por pedido de produção" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "Instalado em outro item de estoque" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "Árvore de peças" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "Atualizado antes de" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "Atualizado após" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "Inventário antes de" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "Inventário após" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "Tem data de inventário" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "Data de validade antes de" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "Data de validade após" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "Parado" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "Forneça a chave primária de um StockItem para excluir esse item e todos os seus descendentes" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "Locais em cascata" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "Se verdadeiro, inclui itens nos locais filhos do local informado" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "Filtrar por ID numérico do local ou o literal 'null'" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "A quantidade é obrigatória" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "Uma peça válida deve ser fornecida" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "A peça de fornecedor informada não existe" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "A peça de fornecedor tem um tamanho de pacote definido, mas o flag use_pack_size não está ativado" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Números de série não podem ser fornecidos para uma peça não rastreável" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "Incluir instalados" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "Se verdadeiro, inclui resultados de teste dos itens instalados sob o item de estoque informado" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "Filtrar por ID numérico do item de estoque" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "O item de estoque com ID {id} não existe" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "Incluir variantes da peça" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "Data após" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "Data antes de" @@ -8995,7 +9007,7 @@ msgstr "Selecionar responsável" 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 não podem ser alocados diretamente em locais de estoque estruturais, mas podem ser alocados em locais filhos." -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Externo" @@ -9101,7 +9113,7 @@ msgstr "Selecione uma peça de fornecedor correspondente para este item de estoq msgid "Where is this stock item located?" msgstr "Onde este item de estoque está localizado?" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "Embalagem em que este item de estoque é armazenado" @@ -9117,7 +9129,7 @@ msgstr "Este item está instalado em outro item?" msgid "Serial number for this item" msgstr "Número de série deste item" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Código de lote deste item de estoque" @@ -9234,7 +9246,7 @@ msgstr "O item de estoque está atualmente em produção" msgid "Serialized stock cannot be merged" msgstr "Estoque serializado não pode ser mesclado" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Itens de estoque duplicados" @@ -9398,7 +9410,7 @@ msgstr "Inserir números de série para os novos itens" msgid "Supplier Part Number" msgstr "Número de peça do fornecedor" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Vencido" @@ -9428,8 +9440,8 @@ msgstr "Nenhum item de estoque fornecido" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "A quantidade não pode exceder a quantidade de estoque disponível ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Local de estoque de destino" @@ -9501,127 +9513,127 @@ msgstr "Selecionar itens de estoque para alterar o status" msgid "No stock items selected" msgstr "Nenhum item de estoque selecionado" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Sublocais" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "Excluir itens de estoque" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "Excluir todos os itens de estoque contidos neste local" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "Excluir sublocais" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "Excluir todos os sublocais contidos neste local" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "Local de estoque pai" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "A peça deve ser vendável" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "O item está alocado a um pedido de venda" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "O item está alocado a um pedido de transferência" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "O item está alocado a um pedido de produção" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "Cliente para atribuir os itens de estoque" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "A empresa selecionada não é um cliente" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Notas da atribuição de estoque" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "Uma lista de itens de estoque deve ser fornecida" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Notas da mesclagem de estoque" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Permitir fornecedores divergentes" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "Permitir a mesclagem de itens de estoque com peças de fornecedor diferentes" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Permitir status divergente" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "Permitir a mesclagem de itens de estoque com códigos de status diferentes" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "Pelo menos dois itens de estoque devem ser fornecidos" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "Sem alteração" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Valor da chave primária do StockItem" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "O item de estoque não está em estoque" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "O item de estoque já está em estoque" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "A quantidade não pode ser negativa" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Notas da transação de estoque" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "Definir local de estoque para os itens contados (opcional)" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "Mesclar com o estoque existente" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "Mesclar itens devolvidos com itens de estoque existentes, se possível" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "Próximo número de série" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "Número de série anterior" @@ -9919,7 +9931,7 @@ msgstr "Permissões" msgid "Important dates" msgstr "Datas importantes" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "O token foi revogado" @@ -9927,163 +9939,163 @@ msgstr "O token foi revogado" msgid "Token has expired" msgstr "O token expirou" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "Token de API" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "Tokens de API" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Nome do token" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Nome personalizado do token" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Data de validade do token" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Visto por último" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "Última vez que o token foi usado" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Revogado" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Conjunto de permissões" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Visualizar" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Permissão para exibir itens" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Adicionar" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Permissão para adicionar itens" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Alterar" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Permissões para editar itens" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Excluir" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Permissão para excluir itens" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "Bot" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "Interno" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "Convidado" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "Idioma" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "Idioma preferencial para o usuário" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "Tema" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "Configurações da interface web em JSON - não edite manualmente!" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "Widgets" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "Configurações dos widgets do painel em JSON - não edite manualmente!" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "Nome de exibição" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "Nome de exibição escolhido para o usuário" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "Cargo" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "Cargo ou posição principal" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "Mensagem de status do usuário" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "Informações de localização do usuário" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "O usuário está usando o sistema ativamente" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "Informações de contato preferenciais do usuário" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "Tipo de usuário" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "Que tipo de usuário é este?" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "Organização" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "Organização/afiliação principal do usuário" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "Grupo principal" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "Grupo principal do usuário" diff --git a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po index d0fdb6c7ec..c7c48e8a57 100644 --- a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Language: ro_RO\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "Criteriul API final nu a fost găsit" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Articolele trebuie să fie furnizate ca o listă" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Listă de articole nevalidă furnizată" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "Toate filtrele trebuie folosite doar cu adevărat" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "Niciun articol nu corespunde criteriilor furnizate" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "Nu sunt furnizate date" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "Acest câmp trebuie să fie unic." -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Utilizatorul nu are permisiunea de a vedea acest model" @@ -65,11 +65,11 @@ msgstr "Confirmare adresă e-mail" msgid "You must type the same email each time." msgstr "Trebuie să tastați același e-mail de fiecare dată." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Adresa de e-mail principală furnizată nu este validă." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Domeniul de e-mail furnizat nu este aprobat." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Nu s-a putut converti {original} în {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Cantitate furnizata nevalida" @@ -105,22 +105,22 @@ msgstr "Enter Date" msgid "Invalid decimal value" msgstr "Valoare zecimală nevalidă" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Notițe" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Valoarea '{name}' nu apare în formatul modelului" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Valoarea furnizată nu se potrivește cu modelul necesar: " @@ -164,51 +164,51 @@ msgstr "Elimină tag-urile HTML din această valoare" msgid "Data contains prohibited markdown content" msgstr "Datele conţin conţinut de marcaje interzis" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Eroare de conexiune" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Serverul a răspuns cu un cod de stare invalid" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Excepție apărută" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Serverul a răspuns cu o valoare de Content-Length invalidă" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Dimensiunea imaginii este prea mare" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Descărcarea imaginii a depăşit dimensiunea maximă" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Serverul la distanță a returnat un răspuns gol" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "URL-ul furnizat nu este un fișier imagine valid" @@ -220,117 +220,121 @@ msgstr "Conectați-vă la aplicație" msgid "Email" msgstr "E-mail" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Trebuie să activați autentificarea cu doi factori înainte de a face orice altceva." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Eroare la rularea validării plugin-ului" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metadata trebuie să fie un obiect dict python" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Metadatele plugin" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "Câmp de metadate JSON pentru utilizare de plugin-uri externe" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Model formatat incorect" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Format necunoscut cheie specificat" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Lipseste cheia de format" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Câmpul de referință nu poate fi gol" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Referința trebuie să corespundă modelului necesar" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Numărul de referință este prea mare" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Alegere invalidă" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Nume" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Descriere" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Descriere (opțional)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Cale" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplicate nume nu poate exista sub acelaşi părinte" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Note Markdown (opțional)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Date Cod de Bare" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Date coduri de bare terțe" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Date Cod de Bare" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Hash unic al codului de bare" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Cod de bare existent găsit" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Eroare de server" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "A fost înregistrată o eroare de către server." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Trebuie sa fie un număr valid" msgid "Currency" msgstr "Monedă" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Selectați moneda din opțiunile disponibile" @@ -521,11 +525,11 @@ msgstr "Chineză (simplificată)" msgid "Chinese (Traditional)" msgstr "Chineză (tradițională)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "Actualizare disponibilă" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "O actualizare pentru InvenTree este disponibilă" @@ -537,7 +541,7 @@ msgstr "Unitate fizică nevalidă" msgid "Not a valid currency code" msgstr "Nu este un cod valutar valid" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Starea comenzii" @@ -546,23 +550,23 @@ msgstr "Starea comenzii" msgid "Parent Build" msgstr "Construcție părinte" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "İnclude variante" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "İnclude variante" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "İnclude variante" msgid "Part" msgstr "Piesă" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Categorie" @@ -593,7 +597,7 @@ msgstr "Categorie" msgid "Ancestor Build" msgstr "Ancestor Build" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Alocate mie" @@ -601,11 +605,11 @@ msgstr "Alocate mie" msgid "Assigned To" msgstr "Atribuit către" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Creat înainte de" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Creat după" @@ -641,99 +645,99 @@ msgstr "Finalizat înainte de" msgid "Completed after" msgstr "Finalizat după" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "Dată min" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "Dată maximă" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "Exclude arbore" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Construcția trebuie anulată înainte de a putea fi ștearsă" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Opţional" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Asamblate" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Urmarit" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Testabilă" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Comandă restantă" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Alocate" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "Consumat" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Disponibil" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "Pe comandă" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Comenzi de Producție" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Locatie" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "Ieșire" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "Filtrează după ID-ul elementelor de ieșire din stoc. Utilizați \"null\" pentru a găsi elemente de construcție dezinstalate." @@ -773,9 +777,9 @@ msgstr "Data țintă trebuie să fie după data de început" msgid "Build Order Reference" msgstr "Referință comandă producție" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Referință comandă de vânzare" msgid "Sales Order to which this build is allocated" msgstr "Comanda de vânzare pentru care această construcție este alocată" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Locație sursă" @@ -821,7 +825,7 @@ msgstr "Construcție externă" msgid "This build order is fulfilled externally" msgstr "Această comandă de producție este îndeplinită extern" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Locul destinației" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Cod status producție" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Cod lot" @@ -883,8 +887,8 @@ msgstr "Data finalizării țintă" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data țintă pentru finalizarea construcției. Construcția va fi depășită după această dată." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Data completării" @@ -900,7 +904,7 @@ msgstr "Emis de" msgid "User who issued this build order" msgstr "Utilizatorul care a emis această comandă de producție" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Prioritatea acestei comenzi de producție" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Cod proiect" @@ -962,9 +966,9 @@ msgstr "Construcția nu se potrivește cu Comanda de producție" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "Cantitatea trebuie să fie mai mare decât zero" @@ -999,7 +1003,7 @@ msgstr "Construiește obiectul" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Cantitatea trebuie sa fie 1 pentru stoc serializat" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Cantitate alocata ({q}) nu trebuie sa depaseasca cantitatea disponibila de stoc ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Articolul din stoc este supra alocat" @@ -1057,8 +1061,8 @@ msgstr "Articolul din stoc este supra alocat" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Articol Stoc" @@ -1082,7 +1086,7 @@ msgstr "Destinație articol in stoc" msgid "Build Level" msgstr "Nivel de construcție" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Numele Piesei" @@ -1139,7 +1143,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1272,7 +1276,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "Producție" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "În Producţie" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Stoc extern" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Stoc disponibil" @@ -1527,31 +1531,31 @@ msgstr "Comandă de producție restantă" msgid "Build order {bo} is now overdue" msgstr "Comanda de producție {bo} este în întârziere" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Utilizator" @@ -1654,8 +1658,8 @@ msgstr "Utilizator" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Preț" @@ -1677,8 +1681,8 @@ msgstr "Nume pentru acest webhook" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Activ" @@ -1686,7 +1690,7 @@ msgstr "Activ" msgid "Is this webhook active" msgstr "Este acest webhook activ" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Token-ul" @@ -1756,7 +1760,7 @@ msgstr "Titlu" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "" @@ -2430,7 +2434,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2524,7 +2528,7 @@ msgstr "Nume fișier" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "" @@ -2931,7 +2935,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4448,7 +4452,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4533,7 +4537,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Id comandă" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "Descrierea comenzii (opțional)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Descrierea elementului de rând (opțional)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Introduceți codul lotului pentru articolele din stoc primite" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "Este versiune" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "Are Versiuni" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Versiunea" @@ -6382,7 +6394,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "" @@ -6390,7 +6402,7 @@ msgstr "" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "Versiunea" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "Descrierea piesei" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "Descrierea șablonului" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "Număr versiune (creșteri automate)" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Descrierea detaliată a fișierului" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Descriere fișier Asset" @@ -8766,200 +8778,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Codul lotului pentru acest element din stoc" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index 88314401d8..3477f31b54 100644 --- a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "Конечная точка API не обнаружена" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Элементы должны быть представлены в виде списка" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Предоставлен недопустимый список элементов" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "Все фильтры будут использоваться с параметром True" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "Нет элементов, соответствующих заданным критериям" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "Данные не предоставлены" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "Поле должно быть уникальным." -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "У пользователя недостаточно прав для просмотра этой модели!" @@ -65,11 +65,11 @@ msgstr "Подтверждение адреса электронной почт msgid "You must type the same email each time." msgstr "Вы должны вводить один и тот же адрес электронной почты." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Указанный основной адрес электронной почты неверен." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Указанный домен электронной почты не утверждён." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Невозможно преобразовать {original} в {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "недопустимое количество" @@ -105,22 +105,22 @@ msgstr "Введите дату" msgid "Invalid decimal value" msgstr "Не верное десятичное значение" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Заметки" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Значение '{name}' отсутствует в формате шаблона" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Предоставленное значение не соответствует требуемому формату: " @@ -164,51 +164,51 @@ msgstr "Удалить HTML теги из этого значения" msgid "Data contains prohibited markdown content" msgstr "Данные содержат недопустимую разметку" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Ошибка соединения" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Сервер ответил неверным кодом статуса" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Произошло исключение" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Сервер ответил неверным значением Контент-Длина" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Изображение слишком большое" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Загрузка изображения превышен максимальный размер" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Удаленный сервер вернул пустой ответ" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "Предоставленный URL не является допустимым файлом изображения" @@ -220,117 +220,121 @@ msgstr "Войти в приложение" msgid "Email" msgstr "Электронная почта" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Вы должны включить двухфакторную аутентификацию, прежде чем делать что-нибудь еще." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Ошибка запуска проверки плагина" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Метаданные должны быть объектом python dict" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Метаданные плагина" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "Поле метаданных JSON для использования внешними плагинами" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Неправильно отформатированный шаблон" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Указан неизвестный ключ формата" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Отсутствует требуемый ключ формата" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Ссылочный идентификатор не может быть пустым" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Ссылка должна соответствовать шаблону {pattern}" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Номер ссылки слишком большой" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Название" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Описание" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Описание (необязательно)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Путь" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Повторяющиеся имена не могут существовать под одним и тем же родителем" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Записи о скидке (необязательно)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Данные штрихкода" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Данные стороннего штрих-кода" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Хэш штрих-кода" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Уникальный хэш данных штрих-кода" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Обнаружен существующий штрих-код" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Ошибка сервера" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Сервер зарегистрировал ошибку." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Должно быть действительным номером" msgid "Currency" msgstr "Валюта" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Выберите валюту из доступных вариантов" @@ -521,11 +525,11 @@ msgstr "Китайский (Упрощенный)" msgid "Chinese (Traditional)" msgstr "Китайский (Традиционный)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "Доступно обновление" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "Доступно обновление для InvenTree" @@ -537,7 +541,7 @@ msgstr "Неверная физическая единица" msgid "Not a valid currency code" msgstr "Неверный код валюты" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Статус заказа" @@ -546,23 +550,23 @@ msgstr "Статус заказа" msgid "Parent Build" msgstr "Родительский заказ на производство" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "Включая варианты" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "Включая варианты" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "Включая варианты" msgid "Part" msgstr "Деталь" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Категория" @@ -593,7 +597,7 @@ msgstr "Категория" msgid "Ancestor Build" msgstr "Родительская сборка" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Назначено мне" @@ -601,11 +605,11 @@ msgstr "Назначено мне" msgid "Assigned To" msgstr "Назначено" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Создано до" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Создано после" @@ -641,99 +645,99 @@ msgstr "Завершено до" msgid "Completed after" msgstr "Завершено после" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "Минимальная дата" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "Максимальная дата" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "Исключить дерево" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Заказ на производство должен быть отменен перед удалением" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Расходник" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Необязательно" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Сборная деталь" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Отслеживается" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Тестируемая" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Невыполненные заказы" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Зарезервировано" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "Потреблено" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Доступно" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "В заказе" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Заказ на производство" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Расположение" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "Выход" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "Фильтрация по идентификатору исходящей складской позиции. Используйте 'null', чтобы найти несмонтированные элементы сборки." @@ -773,9 +777,9 @@ msgstr "Целевая дата должна быть после даты нач msgid "Build Order Reference" msgstr "Ссылка на заказ на производство" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Ссылка на заказ" msgid "Sales Order to which this build is allocated" msgstr "Заказ на продажу, которому принадлежит этот заказ на производство" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Место хранения комплектующих" @@ -821,7 +825,7 @@ msgstr "Сторонняя сборка" msgid "This build order is fulfilled externally" msgstr "Этот заказ на сборку выполнен сторонней компанией" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Место хранения результата" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Код статуса заказа на производство" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Код партии" @@ -883,8 +887,8 @@ msgstr "Целевая дата завершения" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для заказа на производства. Заказ будет просрочен после этой даты." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Дата завершения" @@ -900,7 +904,7 @@ msgstr "Создано" msgid "User who issued this build order" msgstr "Пользователь, создавший этот заказ на производство" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Приоритет этого заказа на производство" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Код проекта" @@ -962,9 +966,9 @@ msgstr "Продукция не совпадает с заказом на про #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" @@ -999,7 +1003,7 @@ msgstr "Объект производства" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Количество должно быть 1 для сериализов msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Резервируемое количество ({q}) не должно превышать доступное количество на складе ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Складская позиция перераспределена" @@ -1057,8 +1061,8 @@ msgstr "Складская позиция перераспределена" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Складская позиция" @@ -1082,7 +1086,7 @@ msgstr "Целевая складская позиция" msgid "Build Level" msgstr "Уровень сборки" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Наименование детали" @@ -1139,7 +1143,7 @@ msgstr "Автоматически выделить серийные номер msgid "Automatically allocate required items with matching serial numbers" msgstr "Автоматически зарезервировать необходимые элементы с соответствующими серийными номерами" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "Следующие серийные номера уже существуют или недействительны" @@ -1272,7 +1276,7 @@ msgstr "Позиция для производства" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part должна указывать на ту же часть, что и заказ на производство" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "Элемент должен быть в наличии" @@ -1385,8 +1389,8 @@ msgstr "Установить в" msgid "Build" msgstr "Сборка" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Деталь поставщика" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Есть варианты" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "Позиция BOM" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "В производстве" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "Запланировано к сборке" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Внешний склад" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Доступный запас" @@ -1527,31 +1531,31 @@ msgstr "Просроченный заказ сборки" msgid "Build order {bo} is now overdue" msgstr "Заказ на производство {bo} просрочен" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "Ссылка" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "Файл" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "У пользователя нет прав для удаления этих вложений" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "У пользователя нет прав на удаление этого вложения" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "Список выбора заблокирован" @@ -1571,8 +1575,8 @@ msgstr "Не указаны действительные коды валют" msgid "No plugin" msgstr "Нет плагина" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "Строка ключа должна быть уникальной" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Пользователь" @@ -1654,8 +1658,8 @@ msgstr "Пользователь" msgid "Price break quantity" msgstr "Скидка распространяется на заданное количество" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Цена" @@ -1677,8 +1681,8 @@ msgstr "Имя для этого веб-хука" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Активный" @@ -1686,7 +1690,7 @@ msgstr "Активный" msgid "Is this webhook active" msgstr "Этот веб-хук активен?" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Токен" @@ -1756,7 +1760,7 @@ msgstr "Заголовок" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "Возможные варианты этого параметра (ра msgid "Selection list for this parameter" msgstr "Список выбора для этого параметра" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Включено" @@ -2204,8 +2208,8 @@ msgstr "ID модели" msgid "ID of the target model for this parameter" msgstr "ID целевой модели для этого параметра" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Шаблон" @@ -2262,7 +2266,7 @@ msgstr "Дата и время сканирования штрих-кода" msgid "URL endpoint which processed the barcode" msgstr "URL-адрес, обработавший штрихкод" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Контекст" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "Цепочки электронной почты" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Ключ" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} отменен" msgid "A order that is assigned to you was canceled" msgstr "Заказ, назначенный вам, был отменён" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Полученные элементы" @@ -2524,7 +2528,7 @@ msgstr "Имя файла" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "Тип модели" @@ -2914,8 +2918,8 @@ msgstr "По умолчанию детали являются шаблонами msgid "Parts can be assembled from other components by default" msgstr "По умолчанию детали могут быть собраны из других компонентов" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Компонент" @@ -2931,7 +2935,7 @@ msgstr "Можно купить" msgid "Parts are purchaseable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Можно продавать" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "Журнал ошибок, которые возникают при создании отчетов" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Размер страницы" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "Все модели" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "Не указан тип модели вложения" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "Недопустимый тип модели вложения" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "Минимальное количество знаков не может быть больше максимального" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "Максимальное количество знаков не может быть меньше минимального" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Пустой домен не допускается." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Недопустимое доменное имя: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "Значение должно быть в верхнем регистре" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "Значение должно быть допустимым идентификатором переменной" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "Поставщик активен" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Производитель" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Компания" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Электронная почта контакта" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Контакт" @@ -4297,7 +4301,7 @@ msgstr "Налоговый идентификатор" msgid "Company Tax ID" msgstr "Налоговый идентификатор компании" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Адрес" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "Ссылка на адресную информацию (внешняя)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Производитель детали" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Выберите производителя" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "Артикул производителя" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Связанная деталь производителя должна ссылаться на ту же базовую деталь" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Поставщик" @@ -4448,7 +4452,7 @@ msgstr "Поставщик" msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Артикул поставщика" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Минимальная плата (например, складская)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Упаковка" @@ -4533,7 +4537,7 @@ msgstr "Валюта по умолчанию для этого поставщи msgid "Company Name" msgstr "Название компании" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "На складе" @@ -4722,7 +4726,7 @@ msgstr "Исходные данные строки" msgid "Errors" msgstr "Ошибки" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Корректный" @@ -4838,7 +4842,7 @@ msgstr "Количество копий для печати каждой эти msgid "Connected" msgstr "Подключен" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Неизвестно" @@ -4942,7 +4946,7 @@ msgstr "Ключ свойства" msgid "Value of the property" msgstr "Значение свойства" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Группа" @@ -4966,118 +4970,118 @@ msgstr "Максимальный прогресс" msgid "Maximum value for progress type, required if type=progress" msgstr "Максимальное значение для типа прогресса, требуется, если тип=progress" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Ссылка на заказ" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "Невыполненный" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "Есть код проекта" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Создал" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "Создано до" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "Создано после" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "Есть дата начала" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "Дата начала до" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "Дата начала после" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "Есть целевая дата" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "Целевая дата до" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "Целевая дата после" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "Имеет цену" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "Завершено до" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "Завершено после" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "Сторонний заказ на сборку" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Заказ" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "Заказ выполнен" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Внутренняя деталь" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "Заказ в ожидании" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Завершённые" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "Есть отгрузка" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Заказ на закупку" msgid "Sales Order" msgstr "Заказ на продажу" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Заказ на возврат" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "Адрес не соответствует выбранной компа msgid "Order description (optional)" msgstr "Описание заказа (дополнительно)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Выберите код проекта для этого заказа" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Ссылка на внешнюю страницу" @@ -5151,7 +5155,7 @@ msgstr "Начальная дата" msgid "Scheduled start date for this order" msgstr "Запланированная начальная дата этого заказа" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Целевая дата" @@ -5184,487 +5188,487 @@ msgstr "Контактное лицо по данному заказу" msgid "Company address for this order" msgstr "Адрес компании по этому заказу" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Ссылка на заказ" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Статус" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Статус заказа на закупку" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Номер у поставщика" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Номер заказа у поставщика" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "получил" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "Дата завершения заказа" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Место хранения" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "Место хранения для полученных позиций" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "Поставщик детали должен совпадать с поставщиком заказа на закупку" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "Позиция не соответствует заказу на закупку" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "В позиции отсутствует связанная деталь" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "Количество должно быть положительным числом" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Покупатель" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "Статус заказа на продажу" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Ссылка клиента" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Код ссылки на заказ клиента" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Дата отгрузки" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "Отправлено" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "Заказ уже выполнен" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "Заказ уже отменен" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Только открытый заказ может быть отмечен как завершённый" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Заказ не может быть завершён, так как есть незавершённые отгрузки" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "Заказ не может быть завершён, так как есть незавершённые распределения" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "Заказ не может быть завершён, так как есть незавершённые позиции" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "Заказ заблокирован и не может быть изменён" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Количество" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Номер позиции" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Записи о позиции" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Целевая дата этой позиции (оставьте пустой, чтобы использовать целевую дату заказа)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Описание позиции (необязательно)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "Дополнительный контекст для этой строки" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Цена за единицу" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "Позиция заказа на закупку" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "Поставляемая деталь должна соответствовать поставщику" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "Заказ на сборку должен быть отмечен как внешний" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "Заказы на сборку могут быть связаны только со сборочными деталями" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "Деталь заказа на сборку должна соответствовать детали позиции" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Деталь поставщика" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Получено" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Количество полученных предметов" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Закупочная цена" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "Внешний заказ на сборку, который будет выполнен этой позицией" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "Дополнительная позиция заказа на закупку" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "Позиция заказа на продажу" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "Только продаваемые детали могут быть назначены заказу на продажу" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Цена последней продажи" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Доставлен" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Отгруженное кол-во" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "Отгрузка заказа на продажу" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "Адрес отгрузки должен соответствовать клиенту" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "Адрес доставки для этой отгрузки" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Дата отправления" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Дата доставки" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Дата доставки отгрузки" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Проверн" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Пользователь, проверивший эту отгрузку" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Отправление" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Номер отправления" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Номер отслеживания" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Информация об отслеживании доставки" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Номер счета" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Номер ссылки на связанную накладную" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "Отгрузка уже отправлена" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "Отправка не имеет зарезервированных складских позиций" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "Отгрузка должна быть проверена, прежде чем её можно завершить" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "Дополнительная позиция заказа на продажу" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "Распределение заказа на продажу" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "Складская позиция не была назначена" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "Невозможно зарезервировать складскую позицию в позицию другой детали" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "Невозможно распределить запас к позиции без детали" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Количество распределения не может превышать количество на складе" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Резервируемое количество должно быть больше нуля" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "Количество должно быть 1 для сериализированных складских позиций" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "Заказ на продажу не соответствует отгрузке" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "Отгрузка не соответствует заказу на продажу" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Строка" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Ссылка на отгрузку заказа на продажу" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Элемент" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Выберите складскую позицию для резервирования" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Укажите резервируемое количество" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "Ссылка на заказ на возврат" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Компания, из которой возвращаются товары" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "Статус заказа на возврат" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "Позиция заказа на возврат" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "Необходимо указать складской элемент" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "Количество возврата превышает количество на складе" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "Количество возврата должно быть больше нуля" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "Недопустимое количество для серийного складского элемента" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Выберите позицию, возвращаемую от клиента" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Дата получения" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "Дата возврата" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Результат" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Результат для этой позиции" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Стоимость, связанная с возвратом или ремонтом этой позиции" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "Дополнительная позиция заказа на возврат" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "Копировать дополнительные позиции" msgid "Copy extra line items from the original order" msgstr "Копировать дополнительные позиции из исходного заказа" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Скопировать параметры" @@ -5784,11 +5788,11 @@ msgstr "Объединять элементы" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Объединять в одну позицию элементы, у которых одинаковая деталь, место хранения и целевая дата" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "Артикул" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Внутренний артикул детали" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Введите код партии для поступающих складских позиций" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Истекает" @@ -6056,123 +6060,131 @@ msgstr "Просроченный заказ на возврат" msgid "Return order {ro} is now overdue" msgstr "Заказ на возврат {ro} просрочен" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "Помечено звёздочкой" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "Фильтровать по отмеченным категориям" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Глубина" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "Фильтровать по глубине категории" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "Верхний уровень" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "Фильтровать по категориям верхнего уровня" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "Каскад" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "Включать подкатегории в отфильтрованные результаты" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "Родитель" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "Фильтровать по родительской категории" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "Исключить подкатегории указанной категории" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "Есть результаты" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "Является вариантом" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "Является ревизией" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "Есть ревизии" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "Спецификация валидна" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "Каскадные категории" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "Если включено, включать элементы в дочерних категориях указанной категории" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Фильтровать по числовому идентификатору категории или литералу 'null'" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "Сборочная деталь активна" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "Отслеживаемая сборочная деталь" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "Сборная деталь тестируется" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "Деталь компонента активна" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "Отслеживаемая деталь компонента" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "Компонент тестируется" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "Сборочная деталь компонента" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "Виртуальная деталь компонента" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "На складе" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "Использования" @@ -6213,7 +6225,7 @@ msgstr "Ключевые слова по умолчанию для детале msgid "Icon" msgstr "Значок" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Значок (необязательно)" @@ -6349,7 +6361,7 @@ msgstr "Ключевые слова для улучшения видимости msgid "Part category" msgstr "Категория" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "Внутренний артикул" @@ -6358,7 +6370,7 @@ msgstr "Внутренний артикул" msgid "Part revision or version number" msgstr "Ревизия или серийный номер детали" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Ревизия" @@ -6382,7 +6394,7 @@ msgstr "Срок действия по умолчанию" msgid "Expiry time (in days) for stock items of this part" msgstr "Срок годности (в днях) для складских позиций этой детали" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Минимальный запас" @@ -6390,7 +6402,7 @@ msgstr "Минимальный запас" msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "Суб-деталь" msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "Родительская категория" msgid "Parent part category" msgstr "Родительская категория деталей" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Подкатегории" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "Результаты" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "Количество результатов, зарегистрированных по этому шаблону" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Валюта закупки складской позиции" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "Файл не является изображением" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Оригинальная деталь" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Выберите исходную деталь для копирования" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Копировать Изображение" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Копировать изображение из исходной детали" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Скопировать BOM" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "Копировать спецификацию из исходной детали" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "Копировать данные параметров из исходной детали" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Копировать Записи" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "Скопировать записи из оригинальной детали" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "Копировать тесты" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "Копировать шаблоны тестов из исходной детали" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Начальное количество на складе" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Задайте начальное количество этой детали на складе. Если количество равно 0, складская позиция не будет добавлена." -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Начальное местоположение запаса" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Укажите начальное местоположение запаса для этой детали" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Артикул производителя" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "Выбранная компания не является допустимым поставщиком" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "Выбранная компания не является допустимым производителем" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "Деталь производителя с данным артикулом уже существует" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "Деталь поставщика с данным артикулом уже существует" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Название категории" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "Производится" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "Количество этой детали, находящееся в производстве" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Оставшееся количество этой детали, запланированное к сборке" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Складские позиции" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "Ревизии" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Общий запас" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "Нераспределённый запас" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "Запас вариантов" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "Копировать начальные данные из другой детали" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Начальный запас" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "Создавать деталь с начальным количеством на складе" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Информация о поставщике" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "Добавить начальную информацию о поставщике для этой детали" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "Копировать шаблоны параметров из выбранной категории деталей" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Существующее изображение" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "Имя файла существующего изображения детали" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "Файл изображения не существует" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Проверить всю спецификацию" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Можно произвести" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "Требуется для заказов на сборку" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "Выделено для заказов на сборку" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "Требуется для заказов на продажу" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "Выделено для заказов на продажу" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "Внутренний артикул детали" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "Описание детали" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "Выберите деталь (и любые её варианты) для которой сгенерировать информацию об инвентаризации" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "Выберите категорию (и любые её подкатегории) для которой сгенерировать информацию об инвентаризации" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "Выберите склад, чтобы включить все детали в наличии в указанном складе (включая подразделы)" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "Создать записи инвентаризации" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "Сохранить записи инвентаризации для выбранных деталей" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "Создать отчет" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "Создать отчёт инвентаризации для выбранных деталей" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Минимальная цена" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Переопределить рассчитанное значение минимальной цены" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Валюта минимальной цены" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Максимальная цена" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "Переопределить рассчитанное значение максимальной цены" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Валюта максимальной цены" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Обновить" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "Обновить цены для этой детали" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Не удалось конвертировать из предоставленных валют в {default_currency}" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "Минимальная цена не должна превышать максимальную цену" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "Максимальная цена не должна быть меньше минимальной" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "Выберите родительскую сборку" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "Выберите деталь, которая является компонентом" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "Выберите деталь, из которой копировать спецификацию" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Удалить существующие данные" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "Удалить существующие пункты спецификации перед копированием" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Включая наследуемые" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "Включать пункты спецификации, унаследованные от шаблонных деталей" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Пропустить некорректные строки" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Включите эту опцию, чтобы пропускать недопустимые строки" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Копировать детали-заменители" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "Копировать детали-заменители при дублировании пунктов спецификации" @@ -7326,91 +7338,91 @@ msgstr "Действие не указано" msgid "No matching action found" msgstr "Соответствующее действие не найдено" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "Не найдено совпадений для данных штрих-кода" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Найдено совпадение по штрих-коду" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "Модель не поддерживается" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "Экземпляр модели не найден" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "Штрихкод соответствует существующему элементу" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "Не найдено соответствующих данных детали" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "Не найдено соответствующих поставляемых деталей" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "Найдено несколько соответствующих поставляемых деталей" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "Плагин, соответствующий данным штрихкода, не найден" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "Соответствующая поставляемая деталь" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "Предмет уже был получен" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "Нет совпадения плагина для штрихкода поставщика" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "Найдено несколько соответствующих позиций" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "Не найдено соответствующей позиции" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "Заказ на продажу не указан" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "Штрих-код не соответствует существующим складским позициям" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "Складская позиция не соответствует позиции" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "Недостаточно запаса" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "Складская позиция зарезервирована заказом на продажу" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "Недостаточно информации" @@ -7992,7 +8004,7 @@ msgstr "Граница" msgid "Print a border around each label" msgstr "Печатать рамку вокруг каждой этикетки" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "Альбомная" @@ -8481,136 +8493,136 @@ msgstr "Правовая информация" msgid "Letter" msgstr "Письмо" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "Файл шаблона с таким именем уже существует" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Название шаблона" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "Описание шаблона" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "Номер ревизии (автоматически)" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "Прикреплять к модели при печати" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Сохранять отчёт как вложение к связанному экземпляру модели при печати" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Шаблон имени файла" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "Шаблон для создания имён файлов" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "Шаблон включён" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "Тип модели шаблона" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Фильтры" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "Фильтры запроса шаблона (список ключ=значение через запятую)" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "Файл шаблона" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "Размер страницы для PDF-отчётов" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "Рендерить отчёт в альбомной ориентации" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "Объединить" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "Рендерить один отчёт по выбранным элементам" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "Отчёт, сгенерированный из шаблона {self.name}" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "Синтаксическая ошибка в шаблоне" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "Ошибка при рендеринге отчёта" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "Ошибка при генерации отчёта" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "Ошибка при объединении выводов отчётов" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Ширина [мм]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Ширина этикетки, задаётся в миллиметрах" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Высота [мм]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Высота этикетки, задаётся в миллиметрах" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "Ошибка при печати этикеток" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Сниппет" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Файл фрагмента отчёта" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Описание файла сниппета" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Объект" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Файл ресурса отчёта" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Описание медиафайла" @@ -8766,200 +8778,200 @@ msgstr "Нет результата" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "Файл изображения не найден" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "Тег part_image требует экземпляр детали" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "Тег company_image требует экземпляр компании" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "Фильтровать по глубине местоположения" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "Фильтровать по местоположениям верхнего уровня" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "Включать подместоположения в отфильтрованные результаты" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "Основной склад" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "Фильтровать по родительскому местоположению" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "Название детали (без учёта регистра)" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "Название детали содержит (без учёта регистра)" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "Название детали (regex)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "IPN детали (без учёта регистра)" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "IPN детали содержит (без учёта регистра)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "IPN детали (regex)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "Минимальный запас" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "Максимальный запас" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Код статуса" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Внешнее местоположение" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "Израсходовано для заказов на сборку" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "Установлено в другом складе" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "Древо Деталей" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "Обновлено до" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "Обновлено после" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "Инвентаризация до" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "Инвентаризация после" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "Дата истечения до" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "Дата истечения после" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "Залежалый" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "Укажите первичный ключ складского элемента, чтобы исключить этот элемент и всех его потомков" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "Каскад местоположений" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "Если включено, включать элементы в дочерних местоположениях данного местоположения" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "Фильтровать по числовому идентификатору местоположения или литералу 'null'" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "Необходимо указать количество" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "Необходимо предоставить действительную деталь" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "Указанная поставляемая деталь не существует" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "У поставляемой детали определён размер упаковки, но флаг use_pack_size не установлен" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Не нужно указывать серийные номера для неотслеживаемых деталей" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "Включать установленные" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "Если включено, включать результаты тестов для предметов, установленных под данным складским элементом" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "Фильтровать по числовому идентификатору складского элемента" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "Складской элемент с ID {id} не существует" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "Включая варианты деталей" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "После" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "До" @@ -8995,7 +9007,7 @@ msgstr "Выберите владельца" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Складские позиции не могут находиться в структурных местах хранения, но могут находиться в дочерних местах хранения." -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Внешний" @@ -9101,7 +9113,7 @@ msgstr "Выберите соответствующего поставщика msgid "Where is this stock item located?" msgstr "Где находится эта складская позиция?" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "Упаковка этой складской позиции хранится в" @@ -9117,7 +9129,7 @@ msgstr "Установлен ли этот элемент в другой эле msgid "Serial number for this item" msgstr "Серийный номер для этого элемента" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Код партии для этой складской позиции" @@ -9234,7 +9246,7 @@ msgstr "Складская позиция в производстве" msgid "Serialized stock cannot be merged" msgstr "Серийные запасы нельзя объединить" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Дублирующие складские элементы" @@ -9398,7 +9410,7 @@ msgstr "Введите серийные номера для новых элем msgid "Supplier Part Number" msgstr "Номер детали поставщика" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Просрочен" @@ -9428,8 +9440,8 @@ msgstr "Складской элемент не предоставлен" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Количество не должно превышать доступный запас ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Целевое место хранения" @@ -9501,127 +9513,127 @@ msgstr "Выберите складские позиции для изменен msgid "No stock items selected" msgstr "Не выбрано ни одной складской позиции" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Места хранения" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "Родительское местоположение запаса" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "Деталь должна быть продаваемой" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "Элемент распределён в заказ на продажу" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "Элемент зарезервирован для заказа на производство" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "Покупатель для назначения складских позиций" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Записи о назначенных запасах" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "Необходимо предоставить список складских позиций" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Заметки об объединении складских позиций" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Разрешить несоответствие поставщиков" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "Разрешить объединение складских позиций с различными поставщиками" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Разрешить несоответствие статусов" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "Разрешить объединение складских позиций с различными статусами" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "Необходимо предоставить как минимум 2 складские позиции" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "Нет изменений" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Первичный ключ складского элемента" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "Складской элемент отсутствует на складе" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "Складской элемент уже на складе" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "Количество не должно быть отрицательным" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Заметки об изменении склада" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "Объединить с существующим запасом" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "Объединять возвращённые элементы с существующими складскими элементами, если возможно" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "Следующий серийный номер" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "Предыдущий серийный номер" @@ -9919,7 +9931,7 @@ msgstr "Права доступа" msgid "Important dates" msgstr "Важные даты" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "Токен был отозван" @@ -9927,163 +9939,163 @@ msgstr "Токен был отозван" msgid "Token has expired" msgstr "Срок действия токена истёк" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "API токен" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "Токены API" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Название токена" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Название пользовательского токена" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Дата истечения срока действия токена" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Последнее Посещение" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "Последнее время использования токена" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Отозван" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Права доступа" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Вид" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Разрешение на просмотр элементов" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Добавить" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Разрешение на добавление элементов" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Изменить" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Разрешение на редактирование элементов" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Удалить" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "Бот" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "Внутренний" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "Гость" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "Язык" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "Предпочтительный язык пользователя" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "Тема" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "Настройки веб-интерфейса в формате JSON — не редактировать вручную!" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "Виджеты" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "Настройки виджетов панели в формате JSON — не редактировать вручную!" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "Отображаемое имя" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "Отображаемое имя пользователя" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "Положение" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "Основное место работы или должность" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "Статусное сообщение пользователя" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "Информация о местоположении пользователя" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "Пользователь активно использует систему" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "Предпочтительная контактная информация пользователя" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "Тип пользователя" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "Какого типа этот пользователь?" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "Организация" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "Основная организация/принадлежность пользователя" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "Основная группа" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "Основная группа для пользователя" diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index 19050310a4..cb4904a6a7 100644 --- a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "" @@ -65,11 +65,11 @@ msgstr "" msgid "You must type the same email each time." msgstr "" -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "" @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "" @@ -105,22 +105,22 @@ msgstr "" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "" @@ -164,51 +164,51 @@ msgstr "" msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "" @@ -220,117 +220,121 @@ msgstr "" msgid "Email" msgstr "" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "" msgid "Currency" msgstr "" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "" @@ -521,11 +525,11 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "" @@ -546,23 +550,23 @@ msgstr "" msgid "Parent Build" msgstr "" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "" @@ -593,7 +597,7 @@ msgstr "" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "" @@ -601,11 +605,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "" @@ -883,8 +887,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "" @@ -900,7 +904,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "" @@ -962,9 +966,9 @@ msgstr "" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "" @@ -999,7 +1003,7 @@ msgstr "" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "" @@ -1057,8 +1061,8 @@ msgstr "" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "" @@ -1082,7 +1086,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "" @@ -1139,7 +1143,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1272,7 +1276,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "" @@ -1527,31 +1531,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "" @@ -1654,8 +1658,8 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "" @@ -1677,8 +1681,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1686,7 +1690,7 @@ msgstr "" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "" @@ -1756,7 +1760,7 @@ msgstr "" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "" @@ -2430,7 +2434,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2524,7 +2528,7 @@ msgstr "" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "" @@ -2931,7 +2935,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4448,7 +4452,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4533,7 +4537,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "" @@ -6382,7 +6394,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "" @@ -6390,7 +6402,7 @@ msgstr "" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8766,200 +8778,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index 6e7a401493..efbab5b512 100644 --- a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API vmesnik ni najden" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Uporabnik nima dovoljenja pogleda tega modela" @@ -65,11 +65,11 @@ msgstr "Potrdite e-pošto" msgid "You must type the same email each time." msgstr "E-pošti se morata ujemati" -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Podana epošta ni veljavna." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Domena epošte ni podprta." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Ni mogoče pretvoriti {original} v {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Podana napačna količina" @@ -105,22 +105,22 @@ msgstr "Vnesi datum" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Zapiski" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Vrednost '{name}' ni v predpisanem formatu" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Podana vrednost se ujema s predpisanim vzorcem: " @@ -164,51 +164,51 @@ msgstr "Odstranite oznako HTML iz te vrednosti" msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Napaka povezave" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Odziv serverja: napravilni status kode" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Pojavila se je izjema" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Odziv serverja: napačna dolžina vrednosti" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Prevelika velikost slike" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Prenos slike presegel največjo velikost" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Oddaljeni server vrnil prazen odziv" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "Podani URL ni veljavna slikovna datoteka" @@ -220,117 +220,121 @@ msgstr "" msgid "Email" msgstr "E-pošta" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Napaka pri izvajanju preverjanja vtičnika" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metapodatki morajo biti objekt tipa python dict" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Metapodatki vtičnika" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "Polje metapodatkov JSON za uporabo pri zunanjih vtičnikih" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Nepravilno nastavljen vzorec" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Nastavljen neprepoznan ključ formata" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Manjka obvezen ključ formata" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Referenčno polje ne sme biti prazno" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Referenca se mora ujemati s vzorcem" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Referenčna številka prevelika" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Opis (opcijsko)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Pot" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Podvojena imena ne morejo obstajati pod istim nadrejenim elementom" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Markdown opombe (neobvezno)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Podatki čtrne kode" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Podatki črtne kode tretje osebe" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Oznaka črtne kode" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Enolična oznaka podatkov črtne kode" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Črtna koda že obstaja" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Napaka strežnika" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Mora biti veljavna številka" msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Izberite valuto med razpoložljivimi možnostmi" @@ -521,11 +525,11 @@ msgstr "Kitajščina (poenostavljena)" msgid "Chinese (Traditional)" msgstr "Kitajščina (tradicionalno)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "Neveljavna fizična enota" msgid "Not a valid currency code" msgstr "Neveljavna oznaka valute" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "" @@ -546,23 +550,23 @@ msgstr "" msgid "Parent Build" msgstr "Nadrejena izgradnja" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "" @@ -593,7 +597,7 @@ msgstr "" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Dodeljeno meni" @@ -601,11 +605,11 @@ msgstr "Dodeljeno meni" msgid "Assigned To" msgstr "Dodeljeno" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Neobvezno" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Montaža" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Sledi" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Testno" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Dodeljeno" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Na voljo" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Nalog izgradnje" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Referenca dobavnica" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Lokacija vira" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Ciljna lokacija" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Koda statusa izgradnje" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Številka serije" @@ -883,8 +887,8 @@ msgstr "Rok dokončanja" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Rok končanja izdelave. Izdelava po tem datumu bo v zamudi po tem datumu." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Datom končanja" @@ -900,7 +904,7 @@ msgstr "Izdal" msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "" @@ -962,9 +966,9 @@ msgstr "Izgradnja se ne ujema s nalogom izdelave" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "" @@ -999,7 +1003,7 @@ msgstr "" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Količina za zalogo s serijsko številko mora biti 1" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" @@ -1057,8 +1061,8 @@ msgstr "Preveč zaloge je prestavljene" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Postavka zaloge" @@ -1082,7 +1086,7 @@ msgstr "Destinacija postavke zaloge" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "" @@ -1139,7 +1143,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1272,7 +1276,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "" @@ -1527,31 +1531,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Uporabnik" @@ -1654,8 +1658,8 @@ msgstr "Uporabnik" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "" @@ -1677,8 +1681,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktivno" @@ -1686,7 +1690,7 @@ msgstr "Aktivno" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "" @@ -1756,7 +1760,7 @@ msgstr "" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "" @@ -2430,7 +2434,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2524,7 +2528,7 @@ msgstr "Ime datoteke" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "" @@ -2931,7 +2935,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4448,7 +4452,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4533,7 +4537,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Poslano" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "" @@ -6382,7 +6394,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "" @@ -6390,7 +6402,7 @@ msgstr "" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8766,200 +8778,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index e6aa866f48..b51ac39e8d 100644 --- a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API krajnja tačka nije pronađena" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Lista nevalidiranih stavki" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Korisnik nema dozvolu za pregled ovog modela" @@ -65,11 +65,11 @@ msgstr "Potvrda adrese e-pošte" msgid "You must type the same email each time." msgstr "Svaki put morate upisati istu e-poštu." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Navedena primarna adresa e-pošte nije važeća." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Navedeni domen adrese e-pošte nije prihvaćen." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Nije moguće konvertovati {original} u {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Isporučena nevažeća količina" @@ -105,22 +105,22 @@ msgstr "Unesite datum" msgid "Invalid decimal value" msgstr "Neispravna decimalna vrednost" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Napomene" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Vrednost '{name}' se ne pojavljuje u formatu obrasca" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Navedena vrednost ne odgovara traženom obrascu: " @@ -164,51 +164,51 @@ msgstr "Uklonite HTML oznake iz ove vrednosti" msgid "Data contains prohibited markdown content" msgstr "Podatak sadrži zabranjen jezički sadržaj" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Greška u povezivanju" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Server je odgovorio nevažećim statusnim kodom" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Došlo je do izuzetka" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Server je odgovorio nevažećom vrednošću dužina sadržaja" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Veličina slike je prevelika" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Preuzimanje slike premašilo je maksimalnu veličinu" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Udaljeni server vratio je prazan odgovor" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "Navedeni URL nije važeća slikovna datoteka" @@ -220,117 +220,121 @@ msgstr "Prijavljivanje na aplikaciju" msgid "Email" msgstr "E-Pošta" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Greška prilikom validacije ekstenzije" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metapodaci moraju biti \"python dict\" objekat" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Metapodaci dodatka" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "Polje metapodataka JSON, za korištenje eksternih dodataka" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Neispravno formatiran obrazac" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Naveden je ključ nepoznatog formata" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Nedostaje potreban ključ formata" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Polje za reference ne može biti prazno" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Referenca mora odgovarati traženom obrascu" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Broj reference je predugačak" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Nevažeći izvor" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Opis (Opciono)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Putanja" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Dvostruka imena ne mogu postojati pod istom nadredjenom grupom" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Zabeleške (Opciono)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Podaci sa barkoda" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Podaci sa barkoda trećih lica" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Heš barkoda" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Jedinstveni hash barkoda" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Postojeći barkod pronađen" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Greška servera" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Server je zabležio grešku." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Mora biti važeći broj" msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Odaberite valutu među dostupnim opcijama" @@ -521,11 +525,11 @@ msgstr "Kineski (Uprošćeni)" msgid "Chinese (Traditional)" msgstr "Kineski (Tradicionalni)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "Nevažeća jedinica mere" msgid "Not a valid currency code" msgstr "Nevažeći kod valute" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Status naloga" @@ -546,23 +550,23 @@ msgstr "Status naloga" msgid "Parent Build" msgstr "Roditeljski proizvod" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "Uključi varijante" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "Uključi varijante" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "Uključi varijante" msgid "Part" msgstr "Deo" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Kategorija" @@ -593,7 +597,7 @@ msgstr "Kategorija" msgid "Ancestor Build" msgstr "Proizvod predaka" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Dodeljeno meni" @@ -601,11 +605,11 @@ msgstr "Dodeljeno meni" msgid "Assigned To" msgstr "Dodeljeno" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Kreirano pre" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Kreirano nakon" @@ -641,99 +645,99 @@ msgstr "Završeno pre" msgid "Completed after" msgstr "Završeno nakon" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "Ne uključuj stablo" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Proizvod mora biti poništen pre nego što se izbriše" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Potrošni materijal" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Opciono" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Sklapanje" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Praćeno" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Proverljivo" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Neizmirena narudžbina" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Alocirano" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Dostupno" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "Po narudžbini" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Nalog za izradu" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Lokacija" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Reference naloga za pravljenje" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Referenca naloga za prodaju" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Lokacija izvora" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Lokacija odredišta" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Kod statusa izgradnje" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Kod serije" @@ -883,8 +887,8 @@ msgstr "Datum ciljanog završetka" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ciljani datum za završetak izgradnje. Izgradnja će biti u prekoračenju nakon ovog datuma" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Datum završetka" @@ -900,7 +904,7 @@ msgstr "izdato od" msgid "User who issued this build order" msgstr "Korisnik koji je izdao nalog za izgradnju" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Prioritet ovog naloga za izgradnju" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Kod projekta" @@ -962,9 +966,9 @@ msgstr "Izlaz izgradnje se ne slaže sa Nalogom za izgradnju" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "Količina mora biti veća od nule" @@ -999,7 +1003,7 @@ msgstr "Objekat izgradnje" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Količina mora da bude 1 za zalihe koje su serijalizovane" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Alocirana količina ({q}) ne sme da bude veća od količine dostupnih zaliha ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Stavka zaliha je prealocirana" @@ -1057,8 +1061,8 @@ msgstr "Stavka zaliha je prealocirana" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Stavka zaliha" @@ -1082,7 +1086,7 @@ msgstr "Stavka zaliha odredišta" msgid "Build Level" msgstr "Nivo izgradnje" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Ime dela" @@ -1139,7 +1143,7 @@ msgstr "Automatski alociraj serijske brojeve" msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatski alociraj tražene stavke sa odgovarajućim serijskim brojevima" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "Sledeći serijski brojevi već postoje ili su neispravni" @@ -1272,7 +1276,7 @@ msgstr "Stavka porudžbine za izradu" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part mora da se referencira istom delu kao u nalogu za izgradnju" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "Stavka mora da bude u zalihama" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Deo dobavljača" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Dozvoli varijante" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "BOM stavka" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "U proizvodnji" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Spoljašnje zalihe" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Dostupne zalihe" @@ -1527,31 +1531,31 @@ msgstr "Prekoračeni nalog za izgradnju" msgid "Build order {bo} is now overdue" msgstr "Nalog za izgradnju {bo} je sada prekoračen" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "je link" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "je datoteka" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "Korisnik nema potrebne dozvole da bi izbrisao ove atačmente" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "Korisnik nema dozvolu da izbriše ovaj atačment" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "Lista odabira je zaključana" @@ -1571,8 +1575,8 @@ msgstr "Nisu obezbeđeni ispravni kodovi valuta" msgid "No plugin" msgstr "Nema dodataka" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "Tekstualni ključ mora da bude jedinstven" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Korisnik" @@ -1654,8 +1658,8 @@ msgstr "Korisnik" msgid "Price break quantity" msgstr "Prelomna količina cene" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Cena" @@ -1677,8 +1681,8 @@ msgstr "Ime ovog zahteva za izmenu stranice" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktivan" @@ -1686,7 +1690,7 @@ msgstr "Aktivan" msgid "Is this webhook active" msgstr "Da li je ovaj zahtev za izmenu aktivan?" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Token" @@ -1756,7 +1760,7 @@ msgstr "Naslov" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "Validni izbori za ovaj parametar (razdvojeni zapetom)" msgid "Selection list for this parameter" msgstr "Lista izbora za ovaj parametar" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Omogućen" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Šablon" @@ -2262,7 +2266,7 @@ msgstr "Datum i vreme skeniranja bar koda" msgid "URL endpoint which processed the barcode" msgstr "URL krajnja tačka kojaj je obradila bar kod" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Kontekst" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Ključ" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} poništeno" msgid "A order that is assigned to you was canceled" msgstr "Narudžbina koja je bila dodeljena vama je otkazana" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Stavke primljene" @@ -2524,7 +2528,7 @@ msgstr "Ime datoteke" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "Tip modela" @@ -2914,8 +2918,8 @@ msgstr "Podrazumevano je da su delovi šabloni" msgid "Parts can be assembled from other components by default" msgstr "Podrazumevano je da se delovi mogu sastavljati od drugih komponenti" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Komponenta" @@ -2931,7 +2935,7 @@ msgstr "Može da se kupi" msgid "Parts are purchaseable by default" msgstr "Podrazumevano je da se delovi mogu kupiti" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Može da se proda" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "Greške evidentiranja koje se dese prilikom generisanja izveštaja" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Veličina stranice" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "Nije dostavljen tip modela priloga" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "Nevažeći tip modela priloga" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "Minimalno mesta ne sme biti veće od maksimalno mesta" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "Maksimalno mesta ne sme biti manje od minimalno mesta" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Prazan domen nije dozvoljen." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nevažeće ime domena: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "Vrednost mora biti napisana velikim slovima" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "Vrednost mora biti važeći identifikator promenljive" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "Dobavljač je aktivan" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Proizvođač" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Kompanija" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Email adresa kontakta" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Kontakt" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Adrese" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "Link za adresne informacije (eksterni)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Deo proizvođača" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Izaberi proizvođača" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "Broj dela proizvođača" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Povezani delovi dobavljača moraju referencirati isti osnovni deo" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Dobavljač" @@ -4448,7 +4452,7 @@ msgstr "Dobavljač" msgid "Select supplier" msgstr "Izaberi dobavljača" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Jedinica za držanje dobavljačevih zaliha" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimalna naplata (npr. taksa za slaganje)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Pakovanje" @@ -4533,7 +4537,7 @@ msgstr "Podrazumevana valuta koja se koristi za ovog dobavljača" msgid "Company Name" msgstr "Naziv kompanije" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "Na zalihama" @@ -4722,7 +4726,7 @@ msgstr "Originalni podaci vrste" msgid "Errors" msgstr "Greške" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Važeće" @@ -4838,7 +4842,7 @@ msgstr "Broj kopija za štampanje od svakog natpisa" msgid "Connected" msgstr "Konektovano" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Nepoznato" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Grupa" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Referenca naloga" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "Izvanredno" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "Ima šifru projekta" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Kreirano do strane" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "Kreirano pre" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "Kreirano nakon" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "Krajnji datum pre" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "Krajnji datum nakon" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "Ima cenu" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "Završen pre" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "Završen nakon" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Nalog" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "Nalog završen" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Interni deo" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "Nalog na čekanju" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Završeno" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "Ima isporuku" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Nalog za kupovinu" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Nalog za kupovinu" msgid "Sales Order" msgstr "Nalog za prodaju" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Nalog za vraćanje" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "Opis naloga (opciono)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Izaberi šifru projekta za ovaj nalog" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Link ka eksternoj stranici" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Ciljani datum" @@ -5184,487 +5188,487 @@ msgstr "Lice za kontakt za ovaj nalog" msgid "Company address for this order" msgstr "Adresa kompanije za ovaj nalog" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Referenca naloga" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Status" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Status naloga za kupovinu" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Kompanija od koje su stavke naručene" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Referenca dobavljača" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Referentni kod dobavljača naloga" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "primljeno od strane" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "Datum kada je nalog završen" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Odredište" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "Odredište za primljene stavke" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "Dobavljač dela se mora poklapati sa dobavljačem naloga za kupovinu" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "Stavka porudžbine se ne poklapa sa nalogom za kupovinu" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "Količina mora biti pozitivan broj" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Mušterija" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Kompanija kojoj se prodaju stavke" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "Status naloga za prodaju" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Referenca mušterije" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Referentni kod mušterijinog naloga" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Datum isporuke" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "isporučeno od strane" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "Nalog je već završen" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "Nalog je već otkazan" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Samo otvoren nalog može biti označen kao završen" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Nalog ne može biti završen jer ima nepotpunih isporuka" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "Nalog ne može biti završen jer ima nepotpunih alokacija" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "Nalog ne može biti završen jer ima nezavršenih stavki porudbžine" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Količina stavki" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Referenca stavke porudbžine" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Beleške stavke porudbžine" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Krajnji datum za ovu stavku porudbćine (ostaviti prazno za krajnji datum sa naloga)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Opis stavke porudžbine (opciono)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "Dodatni kontekst za ovu porudžbinu" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Cena jedinice" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "Stavka porudžbine naloga za kupovinu" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "Deo dobavljača se mora poklapati sa dobavljačem" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Deo dobavljača" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Primljeno" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Broj primljenih stavki" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Kupovna cena" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Kupovna cena jedinice" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "Dodatna porudbžina naloga za kupovinu" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "Stavka porudžbine naloga za prodaju" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "Samo delovi koji se mogu prodati mogu biti dodeljeni nalogu za prodaju" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Prodajna cena" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Prodajna cena jedinice" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Poslato" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Isporučena količina" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "Isporuka naloga za prodaju" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Datum isporuke" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Datum dostavljanja" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Datum dostavljanja isporuke" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Provereno od strane" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Korisnik koji je proverio ovu isporuku" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Isporuka" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Broj isporuke" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Broj praćenja" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Informacije o praćenju isporuke" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Broj računa" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Referentni broj za dodeljeni račun" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "Isporuka je već poslata" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "Isporuka nema alocirane stavke sa zaliha" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "Dodatne porudbžine naloga za prodaju" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "Alokacije naloga za prodaju" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "Stavka sa zaliha nije dodeljena" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "Ne mogu se alocirati stavke sa zaliha porudbžini sa drugačijim delom" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "Ne mogu se alocirati zalihe porudbžini bez dela" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Alocirana količina ne sme da pređe količinu zaliha" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Količina alokacije mora da bude veća od nule" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "Količina mora biti 1 za serijalizovane stavke sa zaliha" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "Nalog za prodaju se ne poklapa sa isporukom" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "Isporuka se ne poklapa sa nalogom za prodaju" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Porudbžina" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Referenca isporuke naloga za prodaju" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Stavka" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Izaberi stavku sa zaliha za alokaciju" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Unesi količinu za alokaciju zaliha" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "Referenca naloga za vraćanje" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Kompanija čije stavke su vraćene" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "Status naloga za vraćanje" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "Vrati stavku porudbžine" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "Stavka sa zaliha mora biti određena" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "Količina vraćanja je premašila količinu zaliha" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "Količina vraćanja mora biti veća od nule" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "Nevažeća količina za serijalizovane stavke sa zaliha" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Izaberi stavku za vraćanje od mušterije" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Primljeno datuma" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Ishod" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Ishod za ovu stavku porudžbine" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Trošak asociran sa popravkom ili vraćanjem ove stavke porudžbine" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "Doda" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "Kopiraj dodatne porudžbine" msgid "Copy extra line items from the original order" msgstr "Kopiraj dodatne stavke porudžbine sa originalnog naloga" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Kopiraj parametre" @@ -5784,11 +5788,11 @@ msgstr "Spoj stavke" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Spoj stavke sa istim delom, odredištem i ciljanim datumom u jednu stavku porudžbine" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "Jedinica za praćenje zaliha" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Interni broj dela" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Unesi šifru ture za nadolazeće stavke sa zaliha" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Datum isteka" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "Označeno zvezdicom" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "Filtiraj po kategorijama označenim zvezdicom" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Dubina" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "Filtriraj po dubini kategorije" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "Vrhovni" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "Filtriraj po vrhovnim kategorijama" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "Kaskadno" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "Uključi pod-kategorije u filtriranim rezultatima" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "Nadređen" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "Filtriraj po nadređenoj kategoriji" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "Ne uključuj pod-kategorije pod specifičnom kategorijom" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "Ima rezultate" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "Je revizija" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "Ima revizije" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "Spisak materijala validan" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "Deo sklopa se može testirati" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "Deo komponente se može testirati" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "Koristi" @@ -6213,7 +6225,7 @@ msgstr "Podrazumevane ključne reči za delove ove kategorije" msgid "Icon" msgstr "Ikonica" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Ikonica (opciono)" @@ -6349,7 +6361,7 @@ msgstr "Ključne reči dela da bi se poboljšala vidljivost u rezultatima pretra msgid "Part category" msgstr "Kategorija dela" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "Interni broj dela" @@ -6358,7 +6370,7 @@ msgstr "Interni broj dela" msgid "Part revision or version number" msgstr "Revizija dela ili broj verzije" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Revizija" @@ -6382,7 +6394,7 @@ msgstr "Podrazumevani istek" msgid "Expiry time (in days) for stock items of this part" msgstr "Vreme isteka (u danima) za stavke sa zaliha ovog dela" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Minimalne zalihe" @@ -6390,7 +6402,7 @@ msgstr "Minimalne zalihe" msgid "Minimum allowed stock level" msgstr "Minimalni dozvoljen nivo zaliha" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "Pod-deo" msgid "Select part to be used in BOM" msgstr "Izaberi deo koji će biti korišćen u spisku materijala" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "Nadređena kategorija" msgid "Parent part category" msgstr "Nadređena kategorija dela" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Podkategorije" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "Rezultati" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "Broj rezultata napravljenih na osnovu ovog šablona" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Valuta kupovine za ovu stavku sa zaliha" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Originalni deo" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Izaberi originalni deo za duplikaciju" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Kopiraj sliku" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Kopiraj sliku sa originalnog dela" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Kopiraj spisak materijala" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "Kopiraj spisak materijala sa originalnog dela" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "Kopiraj parametarske podatke sa originalnog dela" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Kopiraj beleške" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "Kopiraj beleške sa originalnog dela" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Inicijalna količina zaliha" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Odredi inicijalnu količinu zaliha za ovaj deo. Ukoliko je količina nula, neće biti dodate zalihe." -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Inicijalna lokacija zaliha" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Odredi inicijalnu lokaciju zaliha za ovaj deo" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Izaberi dobavljača (ostavi prazno za preskakanje)" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Izaberi proizvođača (ostavi prazno za preskakanje)" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Broj dela proizvođača" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "Izabrana kompanija nije validan dobavljač" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "Izabrana kompanija nije validan proizvođač" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "Deo proizvođača koji se poklapa sa ovim brojem dela proizvođača već postoji" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "Deo dobavljača koji se opklapa sa ovim brojem dela dobavljača već postoji" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Naziv kategorije" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "Izrađivanje" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Stavke sa zaliha" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "Revizije" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Ukupne zalihe" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "Nealocirane zalihe" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "Varijante zaliha" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Dupliraj deo" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "Kopiraj inicijalne podatke od drugog dela" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Početne zalihe" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "Kreiraj deo sa početnom količinom zaliha" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Informacije o dobavljaču" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "Dodaj inicijalne informacije o dobavljaču za ovaj deo" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Kopiraj parametre kategorije" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "Kopiraj parametarske šablone sa izabrane kategorije dela" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Postojeća slika" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "Ime fajla postojeće slike dela" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "Fajl sa slikom ne postoji" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Validiraj ceo spisak materijala" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Može se izgraditi" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Minimalna cena" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Izmeni izračunatu vrednost za minimalnu cenu" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Minimalna valuta cene" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Maksimalna cena" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "Izmeni izračunatu vrednost maksimalne cene" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Maksimalna valuta cene" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Ažuriraj" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "Ažuriraj cene za ovaj deo" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Nija moguća konverzija iz dostavljen valute u {default_currency}" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "Minimalna cena ne sme biti veća od maksimalne cene" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "Maksimalna cena ne sme biti manja od minimalne cene" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "Izaberi nadređeni sklop" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "Izaberi komponentu dela" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "Izaberi deo sa kog će se kopirati spisak materijala" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Ukloni postojeće podatke" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "Ukloni postojeće stavke sa spiska materijala pre kopiranja" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Uključi nasleđeno" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "Uključi stavke sa spiska materijala koje su nasleđene od šablonskih delova" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Preskoči nevažeće vrste" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Omogući ovu opciju za preskakanje nevažećih vrsta" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Kopiraj zamenske delove" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopiraj zamenske delove prilikom duplikacije stavki sa spiska materijala" @@ -7326,91 +7338,91 @@ msgstr "Nema određene akcije" msgid "No matching action found" msgstr "Nema poklapajuće akcije" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "Nema poklapanja za podatke sa bar koda" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Pronađeno poklapanje za podatke sa bar koda" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "Model nije podržan" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "Instanca modela nije pronađena" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "Bar kod se poklapa sa postojećom stavkom" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "Nema podudarajućih podataka o delovima" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "Nema pronađenih podudarajućih delova dobavljača" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "Više podudarajućih delova dobavljača pronađeno" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "Nema podudarajućeg plugina za podatke sa bar koda" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "Podudarajući deo dobavljača" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "Stavka je već primljena" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "Nijedan plugin se ne poklapa sa dobavljačevim bar kodom" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "Više pronađenih poklapajućih stavki porudžbine" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "Nema podudarajućih stavki porudbžine pronađenih" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "Nema dostavljenih naloga za prodaju" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "Bar kod se ne poklapa sa postojećom stavkom sa zaliha" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "Stavka sa zaliha se ne podudara sa stavkom porudbžine" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "Nedovoljno dostupnih stavki" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "Stavka alocirana nalogu za prodaju" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "Nema dovoljno informacija" @@ -7992,7 +8004,7 @@ msgstr "Border" msgid "Print a border around each label" msgstr "Štampa border oko svakog natpisa" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "Lendskejp" @@ -8481,136 +8493,136 @@ msgstr "Legal" msgid "Letter" msgstr "Letter" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "Šablonski fajl sa ovim imenom već postoji" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Ime šablona" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "Opis šablona" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "Broj revizija (auto-inkrement)" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "Priloži kao model uz štampanje" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Sačuvaj izveštaj kao prilog uz uvezanu instancu modela prilikom štampanja" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Šablon imena fajlova" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "Šablon za generisanje imena fajlova" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "Šablon je omogućen" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "Tip ciljanog modela za šablon" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Filteri" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "Filteri upita nad šablonima (lista razdvojena zarezom ključ=vrednost parova)" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "Šablonski fajl" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "Veličina strane za PDF izveštaje" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "Renderuj izveštaj u landscape orijentaciji" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Širina (u milimetrima)" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Širina natpisa, u milimetrima" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Visina (u milimetrima)" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Visina natpisa, u milimetrima" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Isečak" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Izveštaj isečka fajla" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Opis isečka fajla" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Sredstvo" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Izveštaj fajla sredstva" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Opis fajla sredstva" @@ -8766,200 +8778,200 @@ msgstr "Nema rezultata" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "Slika nije pronađena" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "part_image tag zahteva instancu dela" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "company_image tag zahteva instancu kompanije" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "Filtriraj po dubini lokacije" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "Filtriraj po nadređenim lokacijama" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "Uključi podlokacije u filtriranim rezultatima" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "Nadređena lokacija" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "Filtriraj po nadređenoj lokaciji" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "Ime dela" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "Ime dela sadrži" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "Ime dela (regex)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "Interni deo broja" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "Interni deo broja sadrži (osetljivo na velika i mala slova)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "Interni broj dela (regex)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "Minimalne zalihe" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "Maksimalne zalihe" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Statusni kod" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Eksterna lokacija" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "Potrošeno od strane naloga za izradu" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "Instalirano u drugu stavku sa zaliha" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "Stablo dela" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "Ažurirano pre" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "Ažurirano nakon" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "Popis pre" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "Popis nakon" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "Datum isteka pre" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "Datum isteka nakon" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "Zastarelo" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "Količina je neophodna" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "Validan deo mora biti dosavljen" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "Dati dobavljač ne postoji" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Deo dobavljača ima definisanu veličinu pakovanja, ali fleg use_pack_size nije postavljen" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serijski brojevi ne mogu biti dostavljeni za deo koji nije moguće pratiti" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "Izaberi vlasnika" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Stavke sa zaliha ne mogu biti direktno locirane u strukturnim lokacijama zaliha, ali mogu biti locirane u podređenim lokacijama." -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Eksterna" @@ -9101,7 +9113,7 @@ msgstr "Izaberi odgovarajući deo dobavljača za ovu stavku sa zaliha" msgid "Where is this stock item located?" msgstr "Gde je locirana ova stavka sa zaliha?" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "Pakovanje u kom je ova stavka sa zaliha" @@ -9117,7 +9129,7 @@ msgstr "Da li je ova stavka instalirana u drugu stavku?" msgid "Serial number for this item" msgstr "Serijski broj za ovu stavku" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Šifra ture za ovu stavku sa zaliha" @@ -9234,7 +9246,7 @@ msgstr "Stavka sa zaliha je trenutno u produkciji" msgid "Serialized stock cannot be merged" msgstr "Serijalizovane zalihe se ne mogu spojiti" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Dupliraj stavke sa zaliha" @@ -9398,7 +9410,7 @@ msgstr "Unesi serijske brojeve za nove stavke" msgid "Supplier Part Number" msgstr "Dobavljački broj dela" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Isteklo" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Količina ne sme da pređe dostupnu količinu zaliha ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Odredišna lokacija zaliha" @@ -9501,127 +9513,127 @@ msgstr "Izaberi stavke kojoj će se promeniti status" msgid "No stock items selected" msgstr "Nije izabrana stavka" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Podlokacije" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "Lokacija nadređenih zaliha" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "Deo mora biti za prodaju" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "Stavka je alocirana nalogu za prodaju" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "Stavka je alocirana nalogu za izradu" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "Mušterija kojoj će se dodeliti stavke sa zaliha" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "Izabrana kompanija nije mušterija" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Beleške dodeljivanja zaliha" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "Lista stavki mora biti dostavljena" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Beleške spajanja zaliha" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Dozvoli neslagajuće dobavljače" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "Dozvoli spajanje stavki sa različitim delovima dobavljača" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Dozvoli neslagajući status" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "Dozvoli spajanje stavki sa različitim statusnim kodovima" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "Bar dve stavke moraju biti dostavljene" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "Nema promena" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Vrednost primarnog ključa stavke" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "Stavka nije na zalihama" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Beleške transakcija zaliha" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "Dozvole" msgid "Important dates" msgstr "Značajni datumi" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "Token je opozvan" @@ -9927,163 +9939,163 @@ msgstr "Token je opozvan" msgid "Token has expired" msgstr "Token je istekao" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "API token" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "API tokeni" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Naziv tokena" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Prilagođen naziv tokena" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Datum isteka tokena" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Poslednji put aktivan" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "Poslednji put kada je token korišćen" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Opozvano" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Skup dozvola" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Pregledaj" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Dozvola za pregled stavki" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Dodaj" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Dozvola za dodavanje stavki" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Promeni" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Dozvole za izmenu stavki" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Obriši" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Dozvola za brisanje stavki" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index 2dce19e92b..e9db8a0def 100644 --- a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API-slutpunkt hittades inte" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Användaren har inte behörighet att se denna modell" @@ -65,11 +65,11 @@ msgstr "Bekräfta e-postadress" msgid "You must type the same email each time." msgstr "Du måste ange samma e-post varje gång." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Den angivna primära e-postadressen är inte giltig." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Den angivna e-postdomänen är inte godkänd." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Kunde inte konvertera {original} till {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" @@ -105,22 +105,22 @@ msgstr "Ange datum" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Anteckningar" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Värdet '{name}' visas inte i mönsterformat" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Det angivna värdet matchar inte det obligatoriska mönstret: " @@ -164,51 +164,51 @@ msgstr "Ta bort HTML-taggar från detta värde" msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Anslutningsfel" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Servern svarade med ogiltig statuskod" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Undantag inträffade" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Servern svarade med ogiltigt innehållslängdsvärde" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Bilden är för stor" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Nedladdning av bilder överskred maximal storlek" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Fjärrservern returnerade tomt svar" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "Angiven URL är inte en giltig bildfil" @@ -220,117 +220,121 @@ msgstr "Logga in på appen" msgid "Email" msgstr "E-postadress" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Du måste aktivera tvåfaktorsautentisering innan du kan göra något annat." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Fel vid validering av plugin" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metadata måste vara ett python dict objekt" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Metadata för plugin" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "JSON metadata fält, för användning av externa plugins" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Felaktigt formaterat mönster" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Okänd formatnyckel angiven" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Obligatorisk formatnyckel saknas" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Textfältet kan inte lämnas tomt" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Referensen måste matcha obligatoriskt mönster" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Referensnumret är för stort" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Namn" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Beskrivning" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Beskrivning (valfritt)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Sökväg" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Markdown anteckningar (valfritt)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Streckkodsdata" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Tredje parts streckkodsdata" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Streckkodsdata" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Unik hash med streckkodsdata" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Befintlig streckkod hittades" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Serverfel" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Måste vara ett giltigt nummer" msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Välj valuta från tillgängliga alternativ" @@ -521,11 +525,11 @@ msgstr "Kinesiska (Förenklad)" msgid "Chinese (Traditional)" msgstr "Kinesiska (Traditionell)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "Ogiltig fysisk enhet" msgid "Not a valid currency code" msgstr "Inte en giltig valutakod" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Orderstatus" @@ -546,23 +550,23 @@ msgstr "Orderstatus" msgid "Parent Build" msgstr "Föregående tillverkning" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "Inkludera varianter" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "Inkludera varianter" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "Inkludera varianter" msgid "Part" msgstr "Del" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Kategori" @@ -593,7 +597,7 @@ msgstr "Kategori" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "" @@ -601,11 +605,11 @@ msgstr "" msgid "Assigned To" msgstr "Tilldelad till" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Skapad före" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Skapad efter" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Tillverkningen måste avbrytas innan den kan tas bort" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Valfri" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Spårad" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Testbar" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Allokerad" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "Konsumerad" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Tillgänglig" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Byggorder" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Plats" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Tillverknings order referens" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Försäljningsorderreferens" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Källa Plats" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Destinationsplats" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Tillverkning statuskod" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Batchkod" @@ -883,8 +887,8 @@ msgstr "Datum för slutförande" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Måldatum för färdigställande. Tillverkningen kommer att förfallas efter detta datum." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Slutförandedatum" @@ -900,7 +904,7 @@ msgstr "Utfärdad av" msgid "User who issued this build order" msgstr "Användare som utfärdade denna tillverknings order" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Projektkod" @@ -962,9 +966,9 @@ msgstr "Byggutgång matchar inte bygg order" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "" @@ -999,7 +1003,7 @@ msgstr "Bygg objekt" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Antal måste vara 1 för serialiserat lager" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" @@ -1057,8 +1061,8 @@ msgstr "Lagerposten är överallokerad" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Artikel i lager" @@ -1082,7 +1086,7 @@ msgstr "Destination lagervara" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Delnamn" @@ -1139,7 +1143,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1272,7 +1276,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Tillåt varianter" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "" @@ -1527,31 +1531,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "Är länk" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "Är fil" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Användare" @@ -1654,8 +1658,8 @@ msgstr "Användare" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Pris" @@ -1677,8 +1681,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktiv" @@ -1686,7 +1690,7 @@ msgstr "Aktiv" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "" @@ -1756,7 +1760,7 @@ msgstr "Titel" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Aktiverad" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Mall" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Sammanhang" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "E-posttrådar" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Nyckel" @@ -2430,7 +2434,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2524,7 +2528,7 @@ msgstr "Filnamn" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "Modelltyp" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Komponent" @@ -2931,7 +2935,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Sidstorlek" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ogiltigt domännamn: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Tillverkare" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Företag" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Kontakt" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Adress" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "MPN" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Leverantör" @@ -4448,7 +4452,7 @@ msgstr "Leverantör" msgid "Select supplier" msgstr "Välj leverantör" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4533,7 +4537,7 @@ msgstr "" msgid "Company Name" msgstr "Företagsnamn" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "I lager" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "Fel" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Giltig" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "Ansluten" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Okänd" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Grupp" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "Har projektkod" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Skapad av" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "Skapad efter" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Intern del" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Slutförd" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "" msgid "Sales Order" msgstr "Försäljningsorder" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5151,7 +5155,7 @@ msgstr "Startdatum" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Måldatum" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Status" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Mål" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Kund" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Skickad" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Leveransdatum" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Kontrollerad av" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Rad" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Kopiera parametrar" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "SKU" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Djup" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "Har resultat" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "Är variant" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "Använder" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "Ikon" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Ikon (valfritt)" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "Delkategori" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6358,7 +6370,7 @@ msgstr "IPN" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Revision" @@ -6382,7 +6394,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "" @@ -6390,7 +6402,7 @@ msgstr "" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Underkategorier" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "Resultat" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Originaldel" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Kopiera bild" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "Kopiera test" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Kategorinamn" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "Revisioner" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Uppdatera" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Hoppa över ogiltiga rader" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "Ingen åtgärd specificerad" msgid "No matching action found" msgstr "Ingen matchande åtgärd hittades" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Mallnamn" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Filter" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "Mallfil" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Bredd [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Höjd [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8766,200 +8778,200 @@ msgstr "Inga resultat" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Statuskod" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Extern plats" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "Uppdaterad efter" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "Välj ägare" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "Ingen förändring" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "Behörigheter" msgid "Important dates" msgstr "" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Tokennamn" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Visa" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Lägg till" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Ändra" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Radera" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "Gäst" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "Språk" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "Tema" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "Visningsnamn" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "Användartyp" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "Organisation" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "Primär grupp" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index 401ceecaf6..1f3c7d3e04 100644 --- a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "ไม่พบ API endpoint" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "" @@ -65,11 +65,11 @@ msgstr "การยืนยันอีเมล" msgid "You must type the same email each time." msgstr "" -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "" @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "ปริมาณสินค้าไม่ถูกต้อง" @@ -105,22 +105,22 @@ msgstr "ป้อนวันที่" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "หมายเหตุ" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "" @@ -164,51 +164,51 @@ msgstr "" msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "การเชื่อมต่อขัดข้อง" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "ไฟล์รูปภาพมีขนาดใหญ่เกินไป" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "" @@ -220,117 +220,121 @@ msgstr "" msgid "Email" msgstr "อีเมล" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "ข้อมูลเมตาของปลั๊กอิน" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "ชื่อ" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "คำอธิบาย" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "ข้อมูลบาร์โค้ด" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "บาร์โค้ดนี้มีในระบบแล้ว" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเวอร์" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "ต้องเป็นตัวเลข" msgid "Currency" msgstr "สกุลเงิน" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "" @@ -521,11 +525,11 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "" @@ -546,23 +550,23 @@ msgstr "" msgid "Parent Build" msgstr "" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "" @@ -593,7 +597,7 @@ msgstr "" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "" @@ -601,11 +605,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "สถานที่" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "" @@ -883,8 +887,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "" @@ -900,7 +904,7 @@ msgstr "ออกโดย" msgid "User who issued this build order" msgstr "" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "" @@ -962,9 +966,9 @@ msgstr "" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "จำนวนต้องมีค่ามากกว่า 0" @@ -999,7 +1003,7 @@ msgstr "" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "" @@ -1057,8 +1061,8 @@ msgstr "" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "" @@ -1082,7 +1086,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "" @@ -1139,7 +1143,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1272,7 +1276,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "" @@ -1527,31 +1531,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "ผู้ใช้งาน" @@ -1654,8 +1658,8 @@ msgstr "ผู้ใช้งาน" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "" @@ -1677,8 +1681,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1686,7 +1690,7 @@ msgstr "" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "" @@ -1756,7 +1760,7 @@ msgstr "" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "" @@ -2430,7 +2434,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2524,7 +2528,7 @@ msgstr "ชื่อไฟล์" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "" @@ -2931,7 +2935,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4448,7 +4452,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4533,7 +4537,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "สำเร็จแล้ว" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "สถานะ" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "จัดส่งแล้ว" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "" @@ -6382,7 +6394,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "" @@ -6390,7 +6402,7 @@ msgstr "" msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8766,200 +8778,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index 4edcd9702b..2be00ab01a 100644 --- a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API uç noktası bulunamadı" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "Toplu işlem için öge listesi sağlanmalıdır" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Ögeler bir liste olarak sağlanmalıdır" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Geçersiz ögeler listesi sağlandı" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "Tüm filtre yalnızca true ile kullanılmalıdır" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "Sağlanan ölçüte uygun bir eşleşme yok" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "Değer verilmemiş" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "Bu alan eşsiz olmalı." -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Kullanıcının bu modeli görüntüleme izni yok" @@ -65,11 +65,11 @@ msgstr "E-posta adresi onayı" msgid "You must type the same email each time." msgstr "Her seferind eaynı e-posta adresini yazmalısınız." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Sağlanan e-posta adresi geçerli değil." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Sağlanan e-posta alanı onaylanmadı." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "{original} birimi {unit} birimine dönüştürülemedi" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" @@ -105,22 +105,22 @@ msgstr "Tarih giriniz" msgid "Invalid decimal value" msgstr "Geçersiz ondalık değer" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Notlar" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "'{name}' değeri desen formatında yer almıyor" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Sağlanan değer gerekli kalıpla eşleşmiyor: " @@ -164,173 +164,177 @@ msgstr "Bu değerden HTML etiketlerini kaldır" msgid "Data contains prohibited markdown content" msgstr "Veriler yasaklanmış işaretleme içeriği içeriyor" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "Geçersiz URL: ana makina adı yok" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "Geçersiz URL: ana makina adı çözümlenemedi" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "URL özel veya ayrılmış bir IP adresini göstermektedir" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "Çok fazla yeniden yönlendirme" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Bağlantı hatası" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Sunucu geçersiz durum kodu ile cevap verdi" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "İstisna oluştu" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Sunucu geçersiz Content-Length değeriyle yanıt verdi" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Görsel boyutu çok büyük" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Görsel indirme maksimum boyutu aştı" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Uzak sunucu boş cevap döndü" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "Sağlanan URL geçerli bir görsel dosyası değil" #: InvenTree/magic_login.py:31 msgid "Log in to the app" -msgstr "Uygulamaya giriş yapın" +msgstr "Uygulamada oturum aç" #: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "E-posta" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Başka bir şey yapmadan önce iki faktörlü kimlik doğrulamayı etkinleştirme gerekir." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Eklenti doğrulama sırasında hata oluştu" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metadata, bir python dict nesnesi olmalıdır" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Plugin Metaverileri" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "Harici eklentiler tarafından kullanım için JSON metadata alanı" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Yanlış biçimlendirilmiş desen" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Belirtilen bilinmeyen format anahtarı" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Gerekli format anahtarı eksik" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Referans alanı boş olamaz" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Referans {pattern} deseniyle mutlaka eşleşmeli" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Referans sayısı çok fazla" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Adı" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Açıklama" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Yol" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Aynı kaynak altında birden fazla aynı isim kullanılamaz" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Markdown notları (isteğe bağlı)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Barkod Verisi" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Üçüncü parti barkod verisi" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Barkod Hash" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Barkod verisinin benzersiz hash'i" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Var olan barkod bulundu" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Sunucu Hatası" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Bir hafta sunucu tarafından kayıt edildi." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Geçerli bir numara olmalı" msgid "Currency" msgstr "Para birimi" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Mevcut seçeneklerden para birimini seçin" @@ -521,11 +525,11 @@ msgstr "Çince (Basitleştirilmiş)" msgid "Chinese (Traditional)" msgstr "Çince (Geleneksel)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "Güncelleme mevcut" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "InvenTree için güncelleme mevcut" @@ -537,7 +541,7 @@ msgstr "Geçersiz fiziksel birim" msgid "Not a valid currency code" msgstr "Geçerli bir para birimi kodu değil" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Sipariş Durumu" @@ -546,23 +550,23 @@ msgstr "Sipariş Durumu" msgid "Parent Build" msgstr "Üst Yapım İşi" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "Varyantları Dahil Et" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "Varyantları Dahil Et" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "Varyantları Dahil Et" msgid "Part" msgstr "Parça" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Kategori" @@ -593,7 +597,7 @@ msgstr "Kategori" msgid "Ancestor Build" msgstr "Kök Üretim" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Bana atandı" @@ -601,11 +605,11 @@ msgstr "Bana atandı" msgid "Assigned To" msgstr "Atanılan Kişi" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "Daha önce oluşturuldu" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "Sonra oluşturuldu" @@ -641,99 +645,99 @@ msgstr "Daha önce tamamlandı" msgid "Completed after" msgstr "Sonra tamamlandı" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "En yakın tarih" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "Maksimum Tarih" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "Ağacı Hariç Tut" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Üretim silinemeden önce iptal edilmelidir" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Sarf Malzemesi" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "İsteğe Bağlı" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Montaj" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "İzlenen" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Test Edilebilir" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "Sipariş Açık" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Tahsis Edildi" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "Tüketildi" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Mevcut" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "Siparişte" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "Üretim bulunamadı" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Üretim Emri" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Konum" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "Çıktı" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "Çıktı stok kalemi ID'sine göre filtrele. Takılmamış üretim kalemlerini bulmak için ‘null’ kullan." @@ -773,9 +777,9 @@ msgstr "Hedef tarih başlangıç tarihinden sonra olmalıdır" msgid "Build Order Reference" msgstr "Üretim Emri Referansı" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Satış Emri Referansı" msgid "Sales Order to which this build is allocated" msgstr "Bu üretimin tahsis edildiği satış siparişi" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Kaynak Konum" @@ -821,7 +825,7 @@ msgstr "Harici Üretim" msgid "This build order is fulfilled externally" msgstr "Bu üretim emri harici olarak tamamlanmıştır" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Hedef Konum" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Üretim durum kodu" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Sıra numarası" @@ -883,8 +887,8 @@ msgstr "Hedef tamamlama tarihi" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Üretimin tamamlanması için hedef tarih. Bu tarihten sonra üretim gecikmiş olacak." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Tamamlama tarihi" @@ -900,7 +904,7 @@ msgstr "Düzenleyen" msgid "User who issued this build order" msgstr "Bu üretim emrini düzenleyen kullanıcı" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Bu üretim emrinin önceliği" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Proje Kodu" @@ -962,9 +966,9 @@ msgstr "Üretim çıktısı, üretim emri ile eşleşmiyor" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "Miktar sıfırdan büyük olmalıdır" @@ -999,7 +1003,7 @@ msgstr "Üretim nesnesi" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1034,7 +1038,7 @@ msgstr "Ana parça izlenebilir olarak işaretlendiğinden, üretim kalemi bir ü #: build/models.py:1906 msgid "Selected stock item does not match BOM line" -msgstr "Seçilen stok kalemi BOM satırı ile eşleşmiyor" +msgstr "Seçili stok kalemi BOM satırı ile eşleşmiyor" #: build/models.py:1925 msgid "Allocated quantity must be greater than zero" @@ -1049,7 +1053,7 @@ msgstr "Seri numaralı stok için miktar bir olmalı" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tahsis edilen miktar ({q}) mevcut stok miktarını ({a}) aşmamalıdır" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" @@ -1057,8 +1061,8 @@ msgstr "Stok kalemi fazladan tahsis edilmiş" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Stok Kalemi" @@ -1082,7 +1086,7 @@ msgstr "Hedef stok kalemi" msgid "Build Level" msgstr "Üretim Seviyesi" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Parça Adı" @@ -1139,7 +1143,7 @@ msgstr "Seri Numaralarını Otomatik Tahsis Et" msgid "Automatically allocate required items with matching serial numbers" msgstr "Eşleşen seri numaralı gerekli kalemleri otomatik tahsis et" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "Şu seri numaraları zaten varlar veya geçersizler" @@ -1158,7 +1162,7 @@ msgstr "Ayırmaları İptal Et" #: build/serializers.py:495 msgid "Discard any stock allocations for scrapped outputs" -msgstr "Hurdaya ayrılan çıktılar için yapılan tüm stok ayırmalarını iptal et" +msgstr "Hurdaya ayrılan çıktılar için yapılan tüm stok tahsislerini iptal et" #: build/serializers.py:500 msgid "Reason for scrapping build output(s)" @@ -1170,11 +1174,11 @@ msgstr "Tamamlanan üretim çıktıları içi konum" #: build/serializers.py:545 order/serializers.py:2575 msgid "Accept Incomplete Allocation" -msgstr "Tamamlanmamış Ayırmayı Onayla" +msgstr "Eksik Tahsisi Kabul Et" #: build/serializers.py:546 msgid "Complete outputs if stock has not been fully allocated" -msgstr "Stok henüz tamamen tahsis edilmemşse çıktıları tamamla" +msgstr "Stok henüz tamamen tahsis edilmemişse çıktıları tamamla" #: build/serializers.py:635 msgid "Consume Allocated Stock" @@ -1186,7 +1190,7 @@ msgstr "Bu üretim için zaten tahsis edilmiş olan tüm stokları tüket" #: build/serializers.py:642 msgid "Remove Incomplete Outputs" -msgstr "Tamamlanmamış Çıktıları Kaldır" +msgstr "Eksik Çıktıları Kaldır" #: build/serializers.py:643 msgid "Delete any build outputs which have not been completed" @@ -1230,7 +1234,7 @@ msgstr "Gerekli stok tamamen tahsis edilemedi" #: build/serializers.py:736 order/serializers.py:548 order/serializers.py:1746 msgid "Accept Incomplete" -msgstr "Tamamlanmamış Kabul et" +msgstr "Eksik Kabul et" #: build/serializers.py:738 msgid "Accept that the required number of build outputs have not been completed" @@ -1272,7 +1276,7 @@ msgstr "Üretim Satırı" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part üretim emri ile aynı parçayı göstermelidir" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "Kalem stokta olmalıdır" @@ -1291,7 +1295,7 @@ msgstr "İzlenmeyen parçaların tahsisi için üretim çıktısı belirtilemez" #: build/serializers.py:968 order/serializers.py:2015 order/serializers.py:2843 msgid "Allocation items must be provided" -msgstr "Ayrılma ögeleri sağlanmalıdır" +msgstr "Tahsis ögeleri belirtilmelidir" #: build/serializers.py:1032 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" @@ -1303,7 +1307,7 @@ msgstr "Konumu Hariç Tut" #: build/serializers.py:1042 msgid "Exclude stock items from this selected location" -msgstr "Bu seçilen konumdan stok kalemlerini hariç tut" +msgstr "Stok kalemlerini bu seçili konumdan hariç tut" #: build/serializers.py:1047 order/serializers.py:2087 msgid "Interchangeable Stock" @@ -1315,11 +1319,11 @@ msgstr "Birden fazla konumdaki stok kalemleri birbirinin yerine kullanılabilir" #: build/serializers.py:1053 msgid "Substitute Stock" -msgstr "Yedek Stok" +msgstr "Muadil Stok" #: build/serializers.py:1054 msgid "Allow allocation of substitute parts" -msgstr "Yedek parçaların ayrılmasına izin ver" +msgstr "Muadil parçaların tahsis edilmesine izin ver" #: build/serializers.py:1059 msgid "Optional Items" @@ -1347,7 +1351,7 @@ msgstr "Kalem Türü" #: build/serializers.py:1071 msgid "Select item type to auto-allocate" -msgstr "Otomatik tahsis edilecek ürün tipini seçin" +msgstr "Otomatik tahsis edilecek ürün türünü seçin" #: build/serializers.py:1077 order/serializers.py:2096 msgid "Stock Priority" @@ -1355,7 +1359,7 @@ msgstr "Stok Önceliği" #: build/serializers.py:1078 order/serializers.py:2097 msgid "Preferred order in which matching stock items are consumed" -msgstr "Eşleşen stok kalemlerinin tiketilmesinde tercih edilen sıra" +msgstr "Eşleşen stok kalemlerinin tüketilmesinde tercih edilen sıra" #: build/serializers.py:1086 msgid "Build Lines" @@ -1385,8 +1389,8 @@ msgstr "Kur" msgid "Build" msgstr "Yap" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Tedarikçi Parçası" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Varyantlara İzin Ver" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "ML Ögesi" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "Üretimde" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "Üretim için Planlandı" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Harici Stok" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Mevcut Stok" @@ -1527,31 +1531,31 @@ msgstr "Geciken Üretim Emri" msgid "Build order {bo} is now overdue" msgstr "{bo} üretim emri şimdi gecikti" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "Küçük Resim Var" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "Link Olanlar" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "Dosya Olanlar" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "Kullanıcının bu ekleri silmek için izni yok" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "Kullanıcının bu eki düzenleme izni yok" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "Kullanıcının bu eki silmek için izni yok" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "Seçim listesi kilitli" @@ -1571,8 +1575,8 @@ msgstr "Geçerli bir para birimi kodu sağlanmamış" msgid "No plugin" msgstr "Eklenti yok" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "Etiketler" @@ -1645,8 +1649,8 @@ msgstr "Anahtar dizesi benzersiz olmalı" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Kullanıcı" @@ -1654,8 +1658,8 @@ msgstr "Kullanıcı" msgid "Price break quantity" msgstr "Fiyat kademesi miktarı" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Fiyat" @@ -1677,8 +1681,8 @@ msgstr "Bu web kancası için ad" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktif" @@ -1686,7 +1690,7 @@ msgstr "Aktif" msgid "Is this webhook active" msgstr "Bu web kancası aktif mi" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Token" @@ -1756,7 +1760,7 @@ msgstr "Başlık" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2006,7 +2010,7 @@ msgstr "Anahtar, referans durumunun mantık anahtarlarından farklı olmalıdır #: common/models.py:2376 msgid "Logical key must be in the logical keys of the reference status" -msgstr "Mantık anahtarı, referans durumunun mantık anahtarları içinde olmalıdır" +msgstr "Mantıksal anahtar, referans durumunun mantıksal anahtarları içinde olmalıdır" #: common/models.py:2383 msgid "Name must be different from the names of the reference status" @@ -2172,7 +2176,7 @@ msgstr "Bu parametre için geçerli seçenekler (virgül ile ayrılmış)" msgid "Selection list for this parameter" msgstr "Bu parametre için seçim listesi" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Etkin" @@ -2204,8 +2208,8 @@ msgstr "Model ID" msgid "ID of the target model for this parameter" msgstr "Bu parametre için hedef modelin ID'si" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Şablon" @@ -2262,7 +2266,7 @@ msgstr "Barkod taramasının tarihi ve saati" msgid "URL endpoint which processed the barcode" msgstr "Barkodu işleyen URL uç noktası" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Bağlam" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "E-posta Konuları" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Anahtar" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} iptal edildi" msgid "A order that is assigned to you was canceled" msgstr "Size atanmış bir emir iptal edildi" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Teslim Alınan Kalemler" @@ -2524,9 +2528,9 @@ msgstr "Dosya adı" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" -msgstr "Model Tipi" +msgstr "Model Türü" #: common/serializers.py:837 msgid "User does not have permission to create or edit attachments for this model" @@ -2614,7 +2618,7 @@ msgstr "Süper kullanıcı afişini göster" #: common/setting/system.py:240 msgid "Show a warning banner in the UI when logged in as superuser" -msgstr "Süper kullanıcı olarak giriş yapınca arayüzde bir uyarı afişi göster" +msgstr "Süper kullanıcı olarak oturum açınca arayüzde bir uyarı afişi göster" #: common/setting/system.py:245 msgid "Show admin banner" @@ -2622,7 +2626,7 @@ msgstr "Yönetici afişi göster" #: common/setting/system.py:246 msgid "Show a warning banner in the UI when logged in as admin" -msgstr "Yönetici olarak giriş yapınca arayüzde bir uyarı afişi göster" +msgstr "Yönetici olarak oturum açınca arayüzde bir uyarı afişi göster" #: common/setting/system.py:251 company/models.py:147 company/models.py:148 msgid "Company name" @@ -2914,8 +2918,8 @@ msgstr "Parçaları varsayılan olan şablondur" msgid "Parts can be assembled from other components by default" msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Bileşen" @@ -2931,7 +2935,7 @@ msgstr "Satın Alınabilir" msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Satılabilir" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "Raporlar üretirken oluşan hataları günlüğe kaydet" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Sayfa Boyutu" @@ -3202,11 +3206,11 @@ msgstr "Stok kalemleri için varsayılan parti kodları oluşturma şablonu" #: common/setting/system.py:736 msgid "Stock Expiry" -msgstr "Stok Sona Erme Tarihi" +msgstr "Stok Raf Ömrü" #: common/setting/system.py:737 msgid "Enable stock expiry functionality" -msgstr "Stokun sona erme işlevselliğini etkinleştir" +msgstr "Stokun raf ömrü özelliğini etkinleştir" #: common/setting/system.py:742 msgid "Sell Expired Stock" @@ -3258,7 +3262,7 @@ msgstr "Stok tablolarında takılı stok kalemlerini görüntüle" #: common/setting/system.py:781 msgid "Check BOM when installing items" -msgstr "Kalemlerin kurulumunu yaparken BOM'u kontrol et" +msgstr "Ögeleri takarken BOM'u kontrol et" #: common/setting/system.py:783 msgid "Installed stock items must exist in the BOM for the parent part" @@ -3430,11 +3434,11 @@ msgstr "Aktarım emri referans alanını üretmek için gereken desen" #: common/setting/system.py:947 msgid "Block Incomplete Item Tests" -msgstr "Tamamlanmamış Ürün Testlerini Engelle" +msgstr "Eksik Ürün Testlerini Engelle" #: common/setting/system.py:949 msgid "Prevent allocation of stock items to sales orders if required item tests are incomplete" -msgstr "Gerekli ürün testleri tamamlanmamışsa, stok kalemlerinin satış siparişlerine tahsis edilmesini engelle" +msgstr "Gerekli ürün testleri eksik ise, stok kalemlerinin satış siparişlerine tahsis edilmesini engelle" #: common/setting/system.py:955 msgid "Purchase Order Reference Pattern" @@ -3474,7 +3478,7 @@ msgstr "Şifremi unuttum seçeneğini etkinleştir" #: common/setting/system.py:993 msgid "Enable password forgot function on the login pages" -msgstr "Giriş yapma sayfasında şifremi unuttum işlevini etkinleştir" +msgstr "Oturum açma sayfasında şifremi unuttum özelliğini etkinleştir" #: common/setting/system.py:998 msgid "Enable registration" @@ -3482,7 +3486,7 @@ msgstr "Kayıt olmayı etkinleştir" #: common/setting/system.py:999 msgid "Enable self-registration for users on the login pages" -msgstr "Giriş yapma sayfalarında kullanıcılar için kendini kaydetme işlevini etkinleştir" +msgstr "Oturum açma sayfalarında kullanıcılar için kendini kaydetme özelliğini etkinleştir" #: common/setting/system.py:1004 msgid "Enable SSO" @@ -3490,7 +3494,7 @@ msgstr "SSO Etkinleştir" #: common/setting/system.py:1005 msgid "Enable SSO on the login pages" -msgstr "Kullanıcı girişi sayfalarında SSO etkinleştir" +msgstr "Oturum açma sayfalarında SSO etkinleştir" #: common/setting/system.py:1010 msgid "Enable SSO registration" @@ -3498,7 +3502,7 @@ msgstr "SSO ile kayıt olmayı etkinleştir" #: common/setting/system.py:1012 msgid "Enable self-registration via SSO for users on the login pages" -msgstr "Giriş yapma sayfalarında kullanıcılar için SSO ile kendini kaydetmeyi etkinleştir" +msgstr "Oturum açma sayfalarında kullanıcılar için SSO ile kendini kaydetmeyi etkinleştir" #: common/setting/system.py:1018 msgid "Enable SSO group sync" @@ -4128,49 +4132,49 @@ msgstr "En Son Seviyede Ögeleri Görüntüle" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "Alt ögesi olmayan konumlar veya kategoriler için alt düzeyler yerine otomatik olarak ögeleri/parçaları göster" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "Tüm modeller" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "Ekli model türü sağlanamadı" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "Geçersiz ek modeli türü" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "Dosya boyutu {max_size} MB maksimum yükleme sınırını aşmaktadır" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "Geçersiz dosya adı" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "Minimum yer sayısı maksimum yer sayısından fazla olamaz" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "Maksimum yer sayısı minimum yer sayısından az olamaz" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Boş bir alan adına izin verilmez." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Geçersiz alan adı: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "Değer büyük harf olmalıdır" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "Değer geçerli bir değişken tanımlayıcısı olmalıdır" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "Tedarikçi Aktif" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Üretici" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Şirket" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "İletişim e-posta adresi" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "İletişim" @@ -4297,7 +4301,7 @@ msgstr "Vergi Numarası" msgid "Company Tax ID" msgstr "Şirket Vergi Numarası" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Adres" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "Adres bilgisine bağlantı (harici)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Üretici Parçası" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Üretici seçin" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "ÜPN" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Bağlantılı üretici parçası aynı temel parçayı referans almalıdır" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Tedarikçi" @@ -4448,7 +4452,7 @@ msgstr "Tedarikçi" msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Tedarikçi stok kodu" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum ücret (örneğin stoklama ücreti)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Paketleme" @@ -4533,7 +4537,7 @@ msgstr "Bu tedarikçi için kullanılan varsayılan para birimi" msgid "Company Name" msgstr "Şirket Adı" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "Stokta" @@ -4643,11 +4647,11 @@ msgstr "Bazı zorunlu alanlar eşleştirilmemiştir" #: importer/models.py:413 msgid "Completed Row Count History" -msgstr "" +msgstr "Tamamlanan Satır Sayısı Geçmişi" #: importer/models.py:416 msgid "Row Count History" -msgstr "" +msgstr "Satır Sayısı Geçmişi" #: importer/models.py:439 msgid "ID" @@ -4679,16 +4683,16 @@ msgstr "Alan hedef modelde bulunmuyor" #: importer/models.py:545 msgid "Selected field is read-only" -msgstr "Seçilen alan salt okunurdur" +msgstr "Seçili alan salt okunurdur" #: importer/models.py:551 msgid "Lookup field can only be set for related (foreign-key) fields" -msgstr "" +msgstr "Arama alanı yalnızca ilişkili (yabancı anahtar) alanlar için ayarlanabilir" #: importer/models.py:559 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" -msgstr "" +msgstr "Geçersiz arama alanı. Geçerli seçenekler şunlardır: {options}" #: importer/models.py:566 importer/models.py:653 msgid "Import Session" @@ -4704,11 +4708,11 @@ msgstr "Sütun" #: importer/models.py:578 msgid "Lookup Field" -msgstr "" +msgstr "Arama Alanı" #: importer/models.py:580 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." -msgstr "" +msgstr "Yabancı anahtar araması için kullanılacak veritabanı alanı. Otomatik arama için boş bırakın." #: importer/models.py:657 msgid "Row Index" @@ -4722,13 +4726,13 @@ msgstr "Orijinal satır verisi" msgid "Errors" msgstr "Hatalar" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Geçerli" #: importer/models.py:904 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" -msgstr "" +msgstr "Değer için birden fazla eşleşme bulundu – lütfen değerin benzersiz olduğundan emin olun veya belirli bir arama alanı seçin" #: importer/models.py:965 msgid "ID is required for updating existing records." @@ -4838,7 +4842,7 @@ msgstr "Her etiket için yazdırılacak kopya sayısı" msgid "Connected" msgstr "Bağlı" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Bilinmeyen" @@ -4942,7 +4946,7 @@ msgstr "Özelliğin anahtarı" msgid "Value of the property" msgstr "Özelliğin değeri" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Grup" @@ -4966,118 +4970,118 @@ msgstr "Maksimum İlerleme" msgid "Maximum value for progress type, required if type=progress" msgstr "İlerleme türünün maksimum değeri, tür=ilerleme ise gerekli" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Sipariş Referansı" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "Açık" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "Proje Kodu Var" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Oluşturan" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "Öncesinde Oluşturuldu" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "Sonrasında Oluşturuldu" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "Başlangıç Tarihi Var" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "Öncesi Başlangıç Tarihi" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "Sonrası Başlangıç Tarihi" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "Hedef Tarihi Var" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "Öncesi Hedef Tarih" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "Sonrası Hedef Tarih" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "Daha önce güncellendi" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "Güncellendi (den sonra)" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "Fiyatlandırılmış" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "Öncesinde Tamamlandı" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "Sonrasında Tamamlandı" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "Harici Üretim Emri" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Sipariş" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "Sipariş Tamamlandı" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Dahili Parça" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "Sipariş Bekliyor" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Tamamlandı" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "Sevkiyatı Var" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "Sevkiyat bulunamadı" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Satın Alma Siparişi" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Satın Alma Siparişi" msgid "Sales Order" msgstr "Satış Siparişi" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "İade Siparişi" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "Aktarım Emri" @@ -5121,7 +5125,7 @@ msgstr "Bu sipariş kilitli olduğundan değiştirilemez" #: order/models.py:414 msgid "Contact does not match selected company" -msgstr "İletişim bilgileri seçilen şirketle eşleşmiyor" +msgstr "Kişi, seçili şirket ile eşleşmiyor" #: order/models.py:421 msgid "Start date must be before target date" @@ -5129,17 +5133,17 @@ msgstr "Başlangıç tarihi hedef tarihinden önce olmalıdır" #: order/models.py:432 msgid "Address does not match selected company" -msgstr "Adres bilgileri seçilen şirketle eşleşmiyor" +msgstr "Adres, seçili şirket ile eşleşmiyor" #: order/models.py:488 msgid "Order description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Bu sipariş için proje kodu seçin" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" @@ -5151,7 +5155,7 @@ msgstr "Başlangıç ​​tarihi" msgid "Scheduled start date for this order" msgstr "Bu üretim emri için planlanan başlangıç tarihi" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Hedeflenen tarih" @@ -5184,487 +5188,487 @@ msgstr "Bu sipariş için ilgili kişi" msgid "Company address for this order" msgstr "Bu sipariş için şirket adresi" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Durum" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Satın alma siparişi durumu" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Ürünlerin sipariş edilmekte olduğu şirket" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Tedarikçi Referansı" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Tedarikçi siparişi referans kodu" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "teslim alan" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "Siparişin tamamlandığı tarih" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Hedef" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "Teslim alınan kalemler için varış yeri" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "Parça tedarikçisi PO tedarikçisi ile eşleşmelidir" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "Satır, satın alma siparişi ile eşleşmiyor" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "Satırda bağlantılı bir parça eksik" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "Miktar pozitif bir sayı olmalıdır" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "Sanal parçalara seri numaraları atanamaz" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "Her türlü stoka izin ver (seri numaralı veya seri numarasız)" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "Sadece seri numaralı stok" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "Sadece seri numarasız stok" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Müşteri" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Ürünlerin satılmakta olduğu şirket" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "Satış siparişi durumu" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Müşteri Referansı " -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Müşteri siparişi referans kodu" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Sevkiyat Tarihi" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "tarafından sevk edildi" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "Sipariş zaten tamamlandı" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "Sipariş zaten iptal edildi" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Yalnızca açık siparişler tamamlandı olarak işaretlenebilir" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" -msgstr "Tamamlanmamış sevkiyatlar olduğundan sipariş tamamlanamaz" +msgstr "Eksik sevkiyatlar olduğundan sipariş tamamlanamaz" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" -msgstr "Tamamlanmamış tahsisatlar olduğundan sipariş tamamlanamaz" +msgstr "Eksik tahsisler olduğu için sipariş tamamlanamıyor" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "Tamamlanmamış satırlar olduğundan sipariş tamamlanamaz" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "Bu sipariş kilitli olduğundan değiştirilemez" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Kalem miktarı" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "Satır Numarası" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "Bu ögenin satır numarası (isteğe bağlı)" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Satır referansı" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Satır notları" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Bu satır için hedef tarih (siparişin hedef tarihini kullanmak için boş bırakın)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Satır açıklaması (isteğe bağlı)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "Bu satır için ek bağlam" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Birim Fiyat" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "Satın Alma Siparişi Kalemi" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "Tedarikçi parçası tedarikçi ile eşleşmelidir" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "Üretim emri harici olarak işaretlenmelidir" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "Üretim emirleri yalnızca montaj parçalarına bağlanabilir" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "Üretim emri parçası satır parçası ile eşleşmelidir" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "Montaj parçaları için harici bir üretim emri gereklidir" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Tedarikçi parçası" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Teslim Alındı" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Teslim alınan miktar" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Alış Fiyatı" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Birim alış fiyatı" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "Bu kalem tarafından karşılanacak harici Üretim Emri" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "Ek Sipariş Kalemi" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "Satış Siparişi Kalemi" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "Yalnızca satışa uygun parçalar bir satış siparişine atanabilir" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Satış Fiyatı" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Birim satış fiyatı" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Sevk edildi" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Sevk edilen miktar" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "Satış Siparişi Sevkiyatı" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "Sevk adresi müşteri ile eşleşmelidir" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "Bu sevkiyatın sevk adresi" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Sevkiyat tarihi" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Teslimat Tarihi" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Sevkiyatın teslimat tarihi" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Kontrol Eden" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Bu sevkiyatı kontrol eden kullanıcılar" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Sevkiyat" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Sevkiyat numarası" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Takip Numarası" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Sevkiyat takip numarası" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Fatura Numarası" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Fatura referans numarası" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "Sevkiyat zaten sevk edildi" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "Sevkiyatın tahsis edilen stok kalemleri bulunmuyor" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "Sevkiyat tamamlanmadan önce kontrol edilmelidir" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "Ek Sipariş Kalemi" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "Satış Siparişi Tahsisatı" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "Stok kalemi henüz atanmadı" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "Farklı bir parçaya sahip satıra stok kalemi tahsis edilemez" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "Parça içermeyen bir satıra stok tahsis edilemez" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar 1 olmalıdır" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "Satış siparişi sevkiyatla eşleşmiyor" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "Sevkiyat satış siparişiyle eşleşmiyor" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Satır" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Satış siparişinin sevkiyat referansı" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Kalem" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Tahsis edilecek stok kalemini seçin" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "İade Siparişi referansı" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Ürünlerin iade edildiği şirket" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "İade siparişi durumu" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "İade Siparişi Satırı" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "Stok kalemi belirtilmelidir" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "İade miktarı stok miktarını aşıyor" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "İade miktarı sıfırdan büyük olmalıdır" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "Seri numaralı stok kalemi için geçersiz miktar" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Müşteriden iade edilecek ürünü seçin" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Teslim Alma Tarihi" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "Bu iade kaleminin teslim alındığı tarih" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Sonuç" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Bu satırın sonucu" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Bu kalem için iade veya onarımla ilgili maliyet" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "Ek Sipariş Kalemi" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "Aktarım Emri Referansı" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "Aktarım emri durumu" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "Aktarılan kalemlerin kaynağı" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "Aktarılan kalemlerin varış yeri" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "Stoku Tüket" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "Stokları hedef noktaya aktarmak yerine, tahsis edilen stok kaleminden aktarılan miktarı çıkararak \"tüket\"" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "Hedef konum belirlenene kadar emir tamamlanamaz" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "Tümüyle tahsis edilene kadar emir tamamlanamaz" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "Emir Satırını Aktar" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "aktarıldı" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "aktarılan miktar" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "Transfer Emri Tahsisatı" @@ -5692,7 +5696,7 @@ msgstr "Ek Kalemleri Kopyala" msgid "Copy extra line items from the original order" msgstr "Orijinal siparişten ek kalemleri kopyala" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Parametreleri Kopyala" @@ -5714,11 +5718,11 @@ msgstr "Tamamlanan Satırlar" #: order/serializers.py:132 msgid "Custom Status Key" -msgstr "" +msgstr "Özel Durum Anahtarı" #: order/serializers.py:133 msgid "Update order status to a custom value for this logical value" -msgstr "" +msgstr "Bu mantıksal değer için sipariş durumunu özel bir değere güncelle" #: order/serializers.py:199 msgid "Duplicate Order" @@ -5730,15 +5734,15 @@ msgstr "Bu siparişin kopyasını oluşturmak için seçenekleri belirtin" #: order/serializers.py:221 msgid "Custom status key must be an integer" -msgstr "" +msgstr "Özel durum anahtarı bir tamsayı olmalıdır" #: order/serializers.py:228 msgid "Invalid custom status key" -msgstr "" +msgstr "Geçersiz özel durum anahtarı" #: order/serializers.py:231 msgid "Invalid custom status key for this order status" -msgstr "" +msgstr "Bu sipariş durumu için geçersiz özel durum anahtarı" #: order/serializers.py:305 msgid "Invalid order ID" @@ -5784,11 +5788,11 @@ msgstr "Kalemleri Birleştir" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Aynı parça, hedef ve hedef tarihe sahip kalemleri tek bir satırda birleştir" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "SKU" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Dahili Parça Numarası" @@ -5825,13 +5829,13 @@ msgid "Enter batch code for incoming stock items" msgstr "Gelen stok kalemleri için parti numarası girin" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" -msgstr "Son Kullanma Tarihi" +msgstr "Raf Ömrü Tarihi" #: order/serializers.py:911 msgid "Enter expiry date for incoming stock items" -msgstr "Gelen stok kalemleri için son kullanma tarihi girin" +msgstr "Gelen stok kalemleri için raf ömrü tarihi girin" #: order/serializers.py:919 msgid "Enter serial numbers for incoming stock items" @@ -5938,7 +5942,7 @@ msgstr "Stok kalemlerini bu konumdan hariç tut" #: order/serializers.py:2082 msgid "Assign allocations to this shipment" -msgstr "Tahsisatları bu sevkiyata ata" +msgstr "Tahsisleri bu sevkiyata ata" #: order/serializers.py:2089 msgid "Allow stock to be taken from multiple locations to fulfil a single line item" @@ -5950,7 +5954,7 @@ msgstr "Seri Numaralı Stok" #: order/serializers.py:2105 msgid "Control whether serialized stock items are included in auto-allocation" -msgstr "Otomatik tahsisata seri numaralı stok kalemlerinin dahil edilip edilmediğini kontrol et" +msgstr "Otomatik tahsise seri numaralı stok kalemlerinin dahil edilip edilmediğini kontrol et" #: order/serializers.py:2116 msgid "Limit allocation to these line items (leave blank to allocate all lines)" @@ -5986,11 +5990,11 @@ msgstr "Satır para birimi" #: order/serializers.py:2576 msgid "Allow order to complete with incomplete allocations" -msgstr "Üretimin tamamlanmamış tahsisatlarla tamamlanmasına izin ver" +msgstr "Üretimin eksik tahsisler ile tamamlanmasına izin ver" #: order/serializers.py:2586 msgid "Order has incomplete allocations" -msgstr "Üretimin tamamlanmamış tahsisatları var" +msgstr "Üretimin eksik tahsisleri var" #: order/status_codes.py:17 order/status_codes.py:54 stock/status_codes.py:16 msgid "Lost" @@ -6056,123 +6060,131 @@ msgstr "Gecikmiş İade Siparişi" msgid "Return order {ro} is now overdue" msgstr "İade siparişi {ro} şimdi gecikti" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "Yıldızlı" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "Yıldızlı kategorilere göre filtrele" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Derinlik" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "Kategori derinliğine göre filtrele" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "Üst Seviye" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "Üst seviye kategorilere göre filtrele" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "Kademeli" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "Filtrelenmiş sonuçlara alt kategorileri dahil et" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "Üst" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "Üst kategoriye göre filtrele" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "Belirtilen kategorideki alt kategorileri hariç tut" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "Sonuçları Olanlar" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "Varyant mı" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "Revizyon mu" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "Revizyonu Olanlar" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "BOM Geçerli" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "Kategorileri Kademele" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "Etkin ise, verilen kategorinin alt kategorilerindeki ögeleri dahil et" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "Sayısal kategori ID veya 'null' sabitine göre filtrele" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "Montaj parçası etkin" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "Montaj parçası takip edilebilir" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "Montaj test edilebilir" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "Montaj parçası kilitlidir" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "Bileşen etkin" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "Bileşen takip edilebilir" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "Bileşen test edilebilir" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "Bileşen bir montaj parçası" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "Bileşen sanal" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "Stok mevcut" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "Kullanımlar" @@ -6213,7 +6225,7 @@ msgstr "Bu kategoridaki parçalar için varsayılan anahtar kelimeler" msgid "Icon" msgstr "Simge" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Simge (isteğe bağlı)" @@ -6349,7 +6361,7 @@ msgstr "Arama sonuçlarında görünürlüğü artırmak için parça anahtar ke msgid "Part category" msgstr "Parça kategorisi" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "DPN" @@ -6358,7 +6370,7 @@ msgstr "DPN" msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Revizyon" @@ -6376,13 +6388,13 @@ msgstr "Bu kalem normalde nerede depolanır?" #: part/models.py:1227 msgid "Default Expiry" -msgstr "Varsayılan Son Kullanma" +msgstr "Varsayılan Raf Ömrü" #: part/models.py:1228 msgid "Expiry time (in days) for stock items of this part" -msgstr "Bu parçanın stok kalemleri için son kullanma süresi (gün olarak)" +msgstr "Bu parçanın stok kalemleri için raf ömrü süresi (gün olarak)" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Minimum Stok" @@ -6390,7 +6402,7 @@ msgstr "Minimum Stok" msgid "Minimum allowed stock level" msgstr "İzin verilen minimum stok düzeyi" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "Maksimum Stok" @@ -6759,7 +6771,7 @@ msgstr "Alt parça" msgid "Select part to be used in BOM" msgstr "BOM'da kullanılacak parçayı seçin" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "Miktar" @@ -6911,351 +6923,351 @@ msgstr "Üst Kategori" msgid "Parent part category" msgstr "Üst parça kategorisi" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Alt kategoriler" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "Sonuçlar" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "Bu şablon ile ilişkilendirilmiş sonuç sayısı" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "Bu stok kaleminin alış para birimi" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "Dosya bir görsel değil" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Orijinal Parça" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Kopyalanacak orijinal parçayı seçin" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Görseli Kopyala" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Orijinal parçadan görseli kopyala" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "BOM'u Kopyala" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "Orijinal parçadan ürün ağacını kopyala" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "Orijinal parçadan parametreleri kopyala" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Notları Kopyala" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "Orijinal parçadan notları kopyala" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "Testleri Kopyala" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "Orijinal parçadan test şablonlarını kopyala" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Başlangıç Stok Miktarı" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Bu parça için başlangıç stok miktarını belirtin. Miktar sıfır ise, stok eklenmez." -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Başlangıç Stok Konumu" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "Bu parça için başlangıç stok konumunu belirtin" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "Tedarikçiyi seçin (veya atlamak için boş bırakın)" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "Üreticiyi seçin (veya atlamak için boş bırakın)" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Üretici parça numarası" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" -msgstr "Seçilen şirket geçerli bir tedarikçi değildir" - -#: part/serializers.py:541 -msgid "Selected company is not a valid manufacturer" -msgstr "Seçilen şirket geçerli bir üretici değildir" +msgstr "Seçili şirket geçerli bir tedarikçi değildir" #: part/serializers.py:552 +msgid "Selected company is not a valid manufacturer" +msgstr "Seçili şirket geçerli bir üretici değildir" + +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "Bu MPN ile eşleşen üretici parçası zaten mevcut" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "Bu SKU ile tedarikçi parçası zaten mevcut" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Kategori Adı" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "Üretiliyor" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "Bu parçanın şu anda üretimde olan miktarı" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Bu parçanın üretilmesi planlanan açık miktarı" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Stok Kalemleri" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "Revizyonlar" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Toplam Stok" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "Tahsis Edilmemiş Stok" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "Varyant Stoku" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Parçanın Kopyasını Oluştur" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "Başlangıç verisini diğer parçadan kopyala" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Başlangıç Stoku" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "Başlangıç stok miktarı ile parça oluştur" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Tedarikçi Bilgileri" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "Bu parça için ilk tedarikçi bilgilerini ekleyin" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Kategori Parametrelerini Kopyala" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" -msgstr "Seçilen parça kategorisinden parametre şablonlarını kopyala" +msgstr "Parametre şablonlarını seçili parça kategorisinden kopyala" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Mevcut Görsel" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "Mevcut parça görselinin dosya adı" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "Görsel dosyası mevcut değil" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Tüm ürün ağacını doğrula" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Üretebilir Miktar" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "Üretim Emirleri için Gerekli" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "Üretim Emirlerine Tahsis Edildi" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "Satış Siparişleri için Gerekli" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "Satış Siparişlerine Tahsis Edildi" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "Parça DPN" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "Parça Açıklaması" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "Stok sayımı bilgisi oluşturmak üzere bir parça (ve varsa varyantlarını) seçin" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "Kategorideki (ve alt kategorilerdeki) tüm parçaları dahil etmek için bir kategori seçin" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "Konumda (ve alt konumlarda) stoğu bulunan tüm parçaları dahil etmek için bir konum seçin" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "Stok Sayımı Kayıtları Oluşturun" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" -msgstr "Seçili parçalar için stok sayımı girdilerini kaydedin" +msgstr "Seçili parçalar için stok sayımı girdilerini kaydet" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "Rapor Oluştur" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" -msgstr "Seçili parçalar için stok sayımı raporu oluşturun" +msgstr "Seçili parçalar için bir stok sayımı raporu oluştur" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Minimum Fiyat" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Minimum fiyat için hesaplanan değeri geçersiz kıl" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Minimum fiyat para birimi" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Maksimum Fiyat" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "Maksimum fiyat için hesaplanan değeri geçersiz kıl" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Maksimum fiyat para birimi" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Güncelle" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "Bu parçanın fiyatlandırmasını güncelle" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Sağlanan para birimlerinden {default_currency} para birimine dönüştürülemedi" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "Minimum fiyat maksimum fiyattan yüksek olamaz" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "Maksimum fiyat minimum fiyattan düşük olamaz" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "Bu öge için gereken miktar (birim içerebilir)" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "Üst montajı seçin" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "Bileşeni seçin" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "Geçersiz miktar biçimi" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "BOM'u kopyalanacak parçayı seçin" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Mevcut Verileri Temizle" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "Kopyalamadan önce mevcut BOM kalemlerini temizle" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Devralınanı Dahil Et" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "Şablon parçalardan devralınan BOM kalemlerini dahil et" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Geçersiz Satırları Atla" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "Geçersiz satırları atlamak için bu seçeneği etkinleştir" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Muadil Parçaları Kopyala" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "BOM kalemlerinin kopyasını oluştururken muadil parçaları kopyala" @@ -7274,16 +7286,16 @@ msgstr "Eskimiş stok bildirimi" #: part/tasks.py:78 msgid "You have 1 stock item approaching its expiry date" -msgstr "Geçerlilik tarihi yaklaşan 1 adet stok kaleminiz var" +msgstr "Raf ömrünü doldurmak üzere olan 1 adet stok kaleminiz var" #: part/tasks.py:80 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" -msgstr "Geçerlilik tarihleri yaklaşan {item_count} adet stok kaleminiz var" +msgstr "Raf ömrünü doldurmak üzere olan {item_count} adet stok kaleminiz var" #: part/tasks.py:89 msgid "No expiry date" -msgstr "Geçerlilik tarihi yok" +msgstr "Raf ömrü yok" #: part/tasks.py:96 msgid "Expired {abs(days_diff)} days ago" @@ -7326,91 +7338,91 @@ msgstr "İşlem belirtilmedi" msgid "No matching action found" msgstr "Eşleşen eylem bulunamadı" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "Barkod verisi için eşleşme bulunamadı" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Barkod verisi için eşleşme bulundu" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "Model desteklenmiyor" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "Model örneği bulunamadı" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "Barkod mevcut kalemle eşleşiyor" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "Eşleşen parça verisi bulunamadı" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "Eşleşen tedarikçi parçası verisi bulunamadı" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "Birden çok eşleşen tedarikçi parçası bulundu" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "Barkod verisi için eşleşen eklenti bulunamadı" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "Eşleşen tedarikçi parçası" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "Ürün kalemi zaten teslim alındı" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "Satın alma siparişi bulundu\\rEşleşen Tedarikçi Parçası Yok" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "Tedarikçi Parçası Bulundu\\rEşleşen Satın Alma Siparişi Yok" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "Tedarikçi barkodu için uygun eklenti bulunamadı" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "Birden çok eşleşen satır bulundu" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "Eşleşen satır bulunamadı" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "Satış siparişi sağlanmadı" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "Barkod mevcut bir stok kalemiyle eşleşmiyor" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "Stok kalemi satır kalemiyle eşleşmiyor" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "Mevcut stok yetersiz" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "Stok kalemi satış siparişine tahsis edilmiştir" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "Yetersiz bilgi" @@ -7992,7 +8004,7 @@ msgstr "Kenarlık" msgid "Print a border around each label" msgstr "Her etiketin etrafına kenarlık ekle" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "Yatay" @@ -8481,136 +8493,136 @@ msgstr "Yasal" msgid "Letter" msgstr "Harf" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "Aynı isimde bir şablon zaten mevcut" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Şablon adı" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "Şablon açıklaması" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "Revizyon numarası (otomatik artar)" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "Yazdırmada Modele Ekle" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Yazdırırken rapor çıktısını bağlantılı model örneğine ek olarak kaydet" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Dosya Adı Deseni" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "Dosya adları oluşturmak için desen" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "Şablon etkinleştirildi" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "Şablon için hedef model türü" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Filtreler" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "Şablon sorgu filtreleri (virgülle ayrılmış anahtar=değer çiftleri listesi)" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "Şablon dosyası" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "PDF raporları için sayfa boyutu" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "Raporu yatay yönde işle" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "Birleştir" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "Seçili ögeler için tek bir rapor oluştur" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "{self.name} şablonundan oluşturulan rapor" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "Şablon sözdizimi hatası" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "Rapor işleme hatası" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "Rapor oluşturma hatası" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "Rapor çıktılarını birleştirme hatası" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Genişlik [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Etiket genişliği mm olarak belirtilmeli" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Yükseklik [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Etiket yüksekliği mm olarak belirtilmeli" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "Etiket yazdırma hatası" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Parçacık" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Rapor parçacık dosyası" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Parçacık dosyası açıklaması" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Kaynak Dosyası" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Rapor kaynak dosyası" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Kaynak dosyası açıklaması" @@ -8766,200 +8778,200 @@ msgstr "Sonuç yok" msgid "Transferred" msgstr "Aktarıldı" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "Geçersiz ortam dosya yolu" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "Geçersiz statik dosya yolu" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "Varlık dosyası bulunamadı" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "Görsel dosyası bulunumadı" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "Görüntü dosyası belirtilmedi" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "part_image etiketi bir parça örneği gerektirir" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "company_image etiketi bir şirket örneği gerektirir" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "Konum derinliğine göre filtrele" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "Üst seviye konumlara göre filtrele" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "Filtrelenmiş sonuçlara alt konumları dahil et" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "Üst Konum" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "Üst konuma göre filtrele" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "Parça adı (büyük/küçük harf duyarlı değildir)" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "Parça adı şunu içerir (büyük/küçük harf duyarlı değildir)" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "Parça adı (regex)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "Parça IPN (büyük/küçük harf duyarlı değildir)" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "Parça IPN şunu içerir (büyük/küçük harf duyarlı değildir)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "Parça IPN (regex)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "Minimum stok" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "Maksimum stok" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Durum Kodu" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Harici Konum" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "Üretim Emrine göre Tüketilenler" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" -msgstr "Başka bir stok kalemine bağlı" +msgstr "Başka bir stok kalemine takılı" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "Parça Ağacı" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "Daha önce güncellendi" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "Güncellendi (den sonra)" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "Stok Sayımı (-dan önce)" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "Stok Sayımı (-dan sonra)" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "Stok Sayım Tarihi Olanlar" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" -msgstr "Son kullanma tarihi öncesi" +msgstr "Raf ömrü şu tarihten önce" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" -msgstr "Son kullanma tarihi sonrası" +msgstr "Raf ömrü şu tarihten sonra" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "Bozuk" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "Bu stok kalemini ve bağlı tüm alt kalemleri hariç tutmak için bir PK girin" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "Konumları alt konumlara uygula" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "Açıksa belirtilen konumun alt konumlarındaki öğeleri de dahil eder" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "Sayısal konum ID'si veya \"null\" değeriyle filtreleyin" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "Miktar gereklidir" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "Geçerli bir parça girilmelidir" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "Belirtilen tedarikçi parçası bulunamadı" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Tedarikçi parçası için paket boyutu tanımlanmış, ancak ‘use_pack_size’ seçeneği etkin değil" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Takibi olmayan bir parça için seri numarası verilemez" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "Takılıyı Dahil Et" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "Aktifse verilen stok kaleminin altına takılı öğelerin test sonuçları da dahil edilir" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "Sayısal Stok Kalemi ID’sine göre Filtrele" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "Belirtilen ID {id} ile bir stok kalemi bulunamadı" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "Varyantları Dahil Et" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "(-den sonra) sil" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "Önce" @@ -8995,7 +9007,7 @@ msgstr "Sahibi Seçin" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Stok kalemleri yapısal stok konumlarına doğrudan yerleştirilemez; ancak alt konumlara yerleştirilebilir." -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Harici" @@ -9033,7 +9045,7 @@ msgstr "Önce en büyük miktar" #: stock/models.py:416 msgid "Soonest expiry date first" -msgstr "Önce en yakın son kullanma tarihi" +msgstr "Önce en yakın raf ömrü" #: stock/models.py:559 msgid "Serialized stock items cannot be deleted" @@ -9101,7 +9113,7 @@ msgstr "Bu stok kalemiyle eşleşen bir tedarikçi parçası seçin" msgid "Where is this stock item located?" msgstr "Bu stok kalemi nerede bulunur?" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "Bu stok kaleminin ambalajı şu şekilde saklanmaktadır" @@ -9117,7 +9129,7 @@ msgstr "Bu öge başka bir ögeye takılı mı?" msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Bu stok kalemine ait parti kodu" @@ -9155,7 +9167,7 @@ msgstr "Hedef satış siparişi" #: stock/models.py:1214 msgid "Expiry date for stock item. Stock will be considered expired after this date" -msgstr "Stok kalemi için son kullanma tarihi. Bu tarihten sonra stok süresi dolmuş kabul edilir" +msgstr "Stok kalemi için raf ömrü tarihi. Bu tarihten sonra stok raf ömrünü doldurmuş kabul edilir" #: stock/models.py:1234 msgid "Date that this stock item was created" @@ -9220,7 +9232,7 @@ msgstr "Stok kalemi başka bir stok kalemine takılıdır" #: stock/models.py:2166 msgid "Stock item contains other items" -msgstr "Bu öge, başka ögeler de içeriyor" +msgstr "Stok kalemi başka kalemleri de içermektedir" #: stock/models.py:2169 msgid "Stock item has been assigned to a customer" @@ -9234,7 +9246,7 @@ msgstr "Stok kalemi şu anda üretim aşamasındadır" msgid "Serialized stock cannot be merged" msgstr "Seri numaralı stok birleştirilemez" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Yinelenen stok kalemleri" @@ -9398,7 +9410,7 @@ msgstr "Yeni kalemler için seri numaraları gir" msgid "Supplier Part Number" msgstr "Tedarikçi Parça Numarası" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Süresi dolmuş" @@ -9428,8 +9440,8 @@ msgstr "Stok kalemi belirtilmedi" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Miktar, mevcut stok miktarını ({q}) aşmamalıdır" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Hedef stok konumu" @@ -9447,7 +9459,7 @@ msgstr "Takılacak stok kalemini seçin" #: stock/serializers.py:840 msgid "Quantity to Install" -msgstr "Miktar" +msgstr "Takılacak Miktar" #: stock/serializers.py:841 msgid "Enter the quantity of items to install" @@ -9467,7 +9479,7 @@ msgstr "Stok kalemi mevcut değil" #: stock/serializers.py:873 msgid "Selected part is not in the Bill of Materials" -msgstr "Seçilen parça malzeme listesinde bulunamadı" +msgstr "Seçili parça ürün ağacında bulunamadı" #: stock/serializers.py:886 msgid "Quantity to install must not exceed available quantity" @@ -9483,7 +9495,7 @@ msgstr "Stok kaleminin dönüştürüleceği parçayı seçin" #: stock/serializers.py:972 msgid "Selected part is not a valid option for conversion" -msgstr "Seçilen parça dönüştürülmeye uygun değil" +msgstr "Seçili parça dönüştürme için geçerli bir seçenek değil" #: stock/serializers.py:989 msgid "Cannot convert stock item with assigned SupplierPart" @@ -9501,127 +9513,127 @@ msgstr "Durumu değiştirilecek stok kalemlerini seçin" msgid "No stock items selected" msgstr "Hiçbir stok kalemi seçilmedi" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Alt konumlar" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "Stok Kalemlerini Sil" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "Bu konumda barındırılan tüm stok kalemlerini sil" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "Alt Konumları Sil" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "Bu konumda barındırılan tüm alt konumları sil" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "Üst stok konumu" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "Parça satılabilir olmalıdır" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "Ürün bir satış siparişine tahsis edilmiştir" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "Kalem, bir transfer emrine tahsis edilmiştir" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "Ürün bir üretim emrine tahsis edilmiştir" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "Stok kalemlerini atamak için müşteri" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" -msgstr "Seçilen şirket bir müşteri değil" +msgstr "Seçili şirket bir müşteri değil" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Stok tahsis notları" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "Bir stok kalemleri listesi girilmelidir" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Stok birleştirme notları" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Farklı tedarikçilere izin ver" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "Farklı tedarikçi parçalarına sahip stokları birleştirmeye izin ver" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Farklı durumlara sahip kalemlere izin ver" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "Farklı durum kodlarına sahip stokları birleştirmeye izin ver" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "En az iki stok kalemi girilmelidir" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "Değişiklik Yok" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Stok Kalemi birincil anahtar (PK) değeri" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "Stok kalemi mevcut stokta yok" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "Stok kalemi zaten stokta" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "Miktar negatif olamaz" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Stok aktarım notları" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "Sayılan kalemler için stok konumunu belirle (isteğe bağlı)" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "Mevcut stokla birleştir" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "Mümkünse iade edilen ürünleri mevcut stoklarla birleştir" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "Sıradaki Seri Numarası" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "Önceki Seri Numarası" @@ -9775,7 +9787,7 @@ msgstr "Kimlik Doğrulaması Başarısız" #: templates/403_csrf.html:12 msgid "You have been logged out from InvenTree." -msgstr "InvenTree hesabınızdan çıkış yaptınız." +msgstr "InvenTree oturumunuzu kapattınız." #: templates/404.html:6 templates/404.html:10 msgid "Page Not Found" @@ -9889,11 +9901,11 @@ msgstr "Bu e-postayı almanızın nedeni, bu parçaya veya parçanın dahil oldu #: templates/email/stale_stock_notification.html:10 msgid "The following stock items are approaching their expiry dates:" -msgstr "Aşağıdaki stok kalemlerinin son kullanma tarihleri yaklaşıyor:" +msgstr "Aşağıdaki stok kalemlerinin raf ömrü dolmak üzere:" #: templates/email/stale_stock_notification.html:23 msgid "Days Until Expiry" -msgstr "Son Kullanmaya Kalan Gün" +msgstr "Raf Ömrü Bitimine Kalan Günler" #: templates/email/stale_stock_notification.html:57 msgid "You are receiving this email because you are subscribed to notifications for these parts" @@ -9919,7 +9931,7 @@ msgstr "Yetkiler" msgid "Important dates" msgstr "Önemli tarihler" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "Anahtar geçerliliği iptal edildi" @@ -9927,163 +9939,163 @@ msgstr "Anahtar geçerliliği iptal edildi" msgid "Token has expired" msgstr "Anahtarın süresi doldu" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "API Anahtarı" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "API Anahtarları" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Anahtar Adı" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Özel anahtar adı" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" -msgstr "Anahtarın son kullanma tarihi" +msgstr "Anahtar geçerlilik tarihi" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Son Görülme" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "Anahtarın en son kullanıldığı tarih" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "İptal Edildi" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "İzinleri ayarla" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Görünüm" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Parçayı görüntüleme izni" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Ekle" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Parça ekleme izni" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Değiştir" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Parçaları düzenleme izni" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Sil" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Parçaları silme izni" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "Bot" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "Dahili" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "Konuk" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "Dil" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "Kullanıcının tercih ettiği dil" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "Tema" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "JSON formatında web kullanıcı arayüzü ayarları - lütfen manuel olarak düzenlemeyin!" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "Kartlar" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "JSON formatında pano kartları ayarları - lütfen manuel olarak düzenlemeyin!" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "Görünen Ad" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "Kullanıcının görünen adı" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "Konumu" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "Ana unvanı veya pozisyonu" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "Kullanıcı durum mesajı" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "Kullanıcı konum bilgisi" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "Kullanıcı, sistemi aktif kullanıyor" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "Kullanıcının tercih edilen iletişim bilgileri" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "Kullanıcı Türü" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "Bu, hangi tür kullanıcı?" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "Organizasyon" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "Kullanıcının ana organizasyonu/ilişkisi" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "Birincil Grup" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "Kullanıcının birincil grubu" @@ -10105,7 +10117,7 @@ msgstr "Satış Siparişleri" #: users/ruleset.py:37 msgid "Return Orders" -msgstr "İade Emirleri" +msgstr "İade Siparişleri" #: users/ruleset.py:38 msgid "Transfer Orders" @@ -10169,11 +10181,11 @@ msgstr "Bu alanı sadece bir yönetici değiştirebilir" #: users/serializers.py:379 msgid "Password" -msgstr "Parola" +msgstr "Şifre" #: users/serializers.py:380 msgid "Password for the user" -msgstr "Kullanıcının parolası" +msgstr "Kullanıcı için şifre" #: users/serializers.py:386 msgid "Override warning" @@ -10201,7 +10213,7 @@ msgstr "Kullanıcı hesabınız oluşturulmuştur." #: users/serializers.py:491 msgid "Please use the password reset function to login" -msgstr "Giriş yapmak için lütfen şifre sıfırlama fonksiyonunu kullanınız" +msgstr "Oturum açmak için lütfen şifre sıfırlama özelliğini kullanın" #: users/serializers.py:497 msgid "Welcome to InvenTree" diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po index fd63c74624..9b1486de18 100644 --- a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "Кінцева точка API не знайдена" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "Сутності необхідно надати списком" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "Надано неправильний список сутностей" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "Немає сутностей що відповідають наданим критеріям" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "У користувача немає дозволу на перегляд цієї моделі" @@ -65,11 +65,11 @@ msgstr "Підтвердження адреси електронної пошт msgid "You must type the same email each time." msgstr "Ви повинні використовувати щоразу однаковий email." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Вказана основна адреса електронної пошти недійсна." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Наданий домен електронної пошти не затверджено." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Не вдалося перетворити {original} на {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Невірна кількість" @@ -105,22 +105,22 @@ msgstr "Введіть дату" msgid "Invalid decimal value" msgstr "Неправильне десяткове значення" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Нотатки" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Значення '{name}' не відповідає шаблону формату" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Надане значення не відповідає обов'язковому шаблону: " @@ -164,51 +164,51 @@ msgstr "Видаліть HTML тег з цього значення" msgid "Data contains prohibited markdown content" msgstr "Дані містять заборонений вміст у форматі Markdown" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Помилка підключення" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Сервер відправив некоректний код статусу" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Відбулося виключення" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Сервер повернув невірне значення Content-Length" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Розмір зображення занадто великий" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Розмір зображення перевищує максимально дозволений розмір" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Віддалений сервер повернув пусту відповідь" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "" @@ -220,117 +220,121 @@ msgstr "Авторизуватися в додатку" msgid "Email" msgstr "Електронна пошта" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "Необхідно увімкнути двофакторну автентифікацію, перед тим як робити будь-що інше." -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Назва" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Опис" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Опис (опціонально)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Шлях" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Примітки в Markdown (опціонально)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Помилка сервера" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "" msgid "Currency" msgstr "" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "" @@ -521,11 +525,11 @@ msgstr "Китайська (спрощена)" msgid "Chinese (Traditional)" msgstr "Китайська (Традиційна)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "" @@ -546,23 +550,23 @@ msgstr "" msgid "Parent Build" msgstr "" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "Деталь" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "" @@ -593,7 +597,7 @@ msgstr "" msgid "Ancestor Build" msgstr "" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "" @@ -601,11 +605,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Розхідний матеріал" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Збірка" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Тестуємо" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Доступно" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Місце" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "" @@ -883,8 +887,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "" @@ -900,7 +904,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "" @@ -962,9 +966,9 @@ msgstr "" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "" @@ -999,7 +1003,7 @@ msgstr "" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "" @@ -1057,8 +1061,8 @@ msgstr "" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "" @@ -1082,7 +1086,7 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "" @@ -1139,7 +1143,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1272,7 +1276,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Дозволити варіанти" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "У виробництві" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "" @@ -1527,31 +1531,31 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Користувач" @@ -1654,8 +1658,8 @@ msgstr "Користувач" msgid "Price break quantity" msgstr "" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Ціна" @@ -1677,8 +1681,8 @@ msgstr "" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -1686,7 +1690,7 @@ msgstr "" msgid "Is this webhook active" msgstr "" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "" @@ -1756,7 +1760,7 @@ msgstr "Назва" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Шаблон" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "" @@ -2430,7 +2434,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "" @@ -2524,7 +2528,7 @@ msgstr "" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Компонент" @@ -2931,7 +2935,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Доступний для продажу" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Виробник" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Позиція виробника" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4448,7 +4452,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Мінімальний платіж (напр. комісія за збереження)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "" @@ -4533,7 +4537,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "В наявності" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Дійсно" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Внутрішній компонент" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -5184,487 +5188,487 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "" -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "Глибина" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "Батьківський елемент" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "Фільтр за батьківською категорією" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -6349,7 +6361,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Ревізія" @@ -6382,7 +6394,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Мінімальний запас" @@ -6390,7 +6402,7 @@ msgstr "Мінімальний запас" msgid "Minimum allowed stock level" msgstr "Мінімально дозволений рівень запасів" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "" msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "Результати" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Виробничий номер позиції" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Початковий запас" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Наявне зображення" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Мінімальна ціна" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Максимальна ціна" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -7326,91 +7338,91 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "" @@ -7992,7 +8004,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "" @@ -8481,136 +8493,136 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "" @@ -8766,200 +8778,200 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "" @@ -9101,7 +9113,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "" @@ -9117,7 +9129,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "" @@ -9234,7 +9246,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "" @@ -9398,7 +9410,7 @@ msgstr "" msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "" @@ -9501,127 +9513,127 @@ msgstr "" msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "" @@ -9927,163 +9939,163 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "" diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index 242a3481aa..236cb86277 100644 --- a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "API endpoint không tồn tại" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "Không có dữ liệu được cung cấp" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "Người dùng không được phân quyền xem mẫu này" @@ -65,11 +65,11 @@ msgstr "Xác nhận địa chỉ email" msgid "You must type the same email each time." msgstr "Bạn phải nhập cùng một email mỗi lần." -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "Địa chỉ email chính đã cung cấp không hợp lệ." -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "Miền email được cung cấp không được phê duyệt." @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "Không thể chuyển đổi {original} sang {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "Số lượng cung cấp không hợp lệ" @@ -105,22 +105,22 @@ msgstr "Nhập ngày" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "Ghi chú" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Giá trị '{name}' không xuất hiện ở định dạng mẫu" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "Giá trị được cung cấp không khớp với mẫu bắt buộc: " @@ -164,51 +164,51 @@ msgstr "Xóa thẻ HTML từ giá trị này" msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "Lỗi kết nối" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "Máy chủ phản hồi với mã trạng thái không hợp lệ" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "Xảy ra Exception" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "Máy chủ đã phản hồi với giá trị Content-Length không hợp lệ" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "Hình ảnh quá lớn" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "Tải xuống hình ảnh vượt quá kích thước tối đa" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "Máy chủ trả về phản hồi trống" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "URL được cung cấp không phải là tệp hình ảnh hợp lệ" @@ -220,117 +220,121 @@ msgstr "" msgid "Email" msgstr "Email" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "Lỗi xác thực plugin" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Siêu dữ liệu phải là đối tượng từ điển của python" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "Phụ trợ siêu dữ liệu" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "Trường siêu dữ liệu JSON, được sử dụng bởi phụ trợ bên ngoài" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "Mẫu được định dạng không thích hợp" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "Khóa định dạng không rõ ràng đã được chỉ định" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "Thiếu khóa định dạng cần thiết" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "Trường tham chiếu không thể rỗng" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "Tham chiếu phải phù hợp với mẫu yêu cầu" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "Số tham chiếu quá lớn" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "Lựa chọn sai" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "Tên" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "Mô tả" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "Mô tả (tùy chọn)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "Đường dẫn" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "Tên trùng lặp không thể tồn tại trong cùng cấp thư mục" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Ghi chú markdown (không bắt buộc)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "Dữ liệu mã vạch" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "Dữ liệu mã vạch của bên thứ ba" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "Dữ liệu băm mã vạch" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "Chuỗi băm duy nhất của dữ liệu mã vạch" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "Mã vạch đã tồn tại" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "Lỗi máy chủ" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "Lỗi đã được ghi lại bởi máy chủ." -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "Phải là một số hợp lệ" msgid "Currency" msgstr "Tiền tệ" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "Chọn tiền tệ trong các tùy chọn đang có" @@ -521,11 +525,11 @@ msgstr "Tiếng Trung (Giản thể)" msgid "Chinese (Traditional)" msgstr "Tiếng Trung (Phồn thể)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "" @@ -537,7 +541,7 @@ msgstr "Đơn vị vật lý không hợp lệ" msgid "Not a valid currency code" msgstr "Mã tiền tệ không hợp lệ" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "Trạng thái đặt hàng" @@ -546,23 +550,23 @@ msgstr "Trạng thái đặt hàng" msgid "Parent Build" msgstr "Phiên bản cha" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "" msgid "Part" msgstr "Nguyên liệu" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "Danh mục" @@ -593,7 +597,7 @@ msgstr "Danh mục" msgid "Ancestor Build" msgstr "Xây dựng nguồn gốc" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "Đã gán cho tôi" @@ -601,11 +605,11 @@ msgstr "Đã gán cho tôi" msgid "Assigned To" msgstr "Đã gán cho" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "" @@ -641,99 +645,99 @@ msgstr "" msgid "Completed after" msgstr "" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "Bạn dựng phải được hủy bỏ trước khi có thể xóa được" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "Vật tư tiêu hao" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "Tuỳ chọn" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "Lắp ráp" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "Đã theo dõi" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "Có thể kiểm tra" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "Đã cấp phát" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "Đã dùng" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Có sẵn" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "Bật đơn hàng" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Tạo đơn hàng" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "Địa điểm" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "" @@ -773,9 +777,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "Tham chiếu đơn đặt bản dựng" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "Địa điểm nguồn" @@ -821,7 +825,7 @@ msgstr "" msgid "This build order is fulfilled externally" msgstr "" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "Địa điểm đích" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "Mã trạng thái bản dựng" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "Mã lô hàng" @@ -883,8 +887,8 @@ msgstr "Ngày hoàn thành mục tiêu" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ngày mục tiêu để hoàn thành bản dựng. Bản dựng sẽ bị quá hạn sau ngày này." -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "Ngày hoàn thành" @@ -900,7 +904,7 @@ msgstr "Cấp bởi" msgid "User who issued this build order" msgstr "Người dùng người đã được phân công cho đơn đặt bản dựng này" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "Độ quan trọng của đơn đặt bản dựng" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "Mã dự án" @@ -962,9 +966,9 @@ msgstr "Đầu ra bản dựng không phù hợp với đơn đặt bản dựng #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "Số lượng phải lớn hơn 0" @@ -999,7 +1003,7 @@ msgstr "Dựng đối tượng" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "Số lượng phải là 1 cho kho sê ri" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Số lượng được phân bổ ({q}) không thể vượt quá số lượng có trong kho ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "Kho hàng đã bị phân bổ quá đà" @@ -1057,8 +1061,8 @@ msgstr "Kho hàng đã bị phân bổ quá đà" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "Kho hàng" @@ -1082,7 +1086,7 @@ msgstr "Kho hàng đích" msgid "Build Level" msgstr "Tạo cấp" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "Tên sản phẩm" @@ -1139,7 +1143,7 @@ msgstr "Số sêri tự cấp" msgid "Automatically allocate required items with matching serial numbers" msgstr "Tự động cấp số seri phù hợp cho hàng hóa được yêu cầu" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 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ệ" @@ -1272,7 +1276,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:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "Hàng hóa phải trong kho" @@ -1385,8 +1389,8 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "Sản phẩm nhà cung cấp" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "Cho phép biến thể" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "Mục BOM" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "Đang sản xuất" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "Kho ngoài" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "Số hàng tồn" @@ -1527,31 +1531,31 @@ msgstr "Đơn đặt bản dựng quá hạn" msgid "Build order {bo} is now overdue" msgstr "Đặt hàng bản dựng {bo} đang quá hạn" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "Đường dẫn" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "File" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "Không có quyền xoá file đính kèm" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "Không có quyền xoá file đính kèm" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "" @@ -1571,8 +1575,8 @@ msgstr "Mã tiền tệ không đúng" msgid "No plugin" msgstr "Không phần mở rộng" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "Chuỗi khóa phải duy nhất" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "Người dùng" @@ -1654,8 +1658,8 @@ msgstr "Người dùng" msgid "Price break quantity" msgstr "Số lượng giá phá vỡ" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "Giá" @@ -1677,8 +1681,8 @@ msgstr "Tên của webhook này" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Hoạt động" @@ -1686,7 +1690,7 @@ msgstr "Hoạt động" msgid "Is this webhook active" msgstr "Webhook có hoạt động không" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "Chữ ký số" @@ -1756,7 +1760,7 @@ msgstr "Tiêu đề" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "Lựa chọn hợp lệ từ tham số này (ngăn cách bằng dấu ph msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "Đã bật" @@ -2204,8 +2208,8 @@ msgstr "" msgid "ID of the target model for this parameter" msgstr "" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "Mẫu" @@ -2262,7 +2266,7 @@ msgstr "" msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "Ngữ cảnh" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "Khóa" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} đã bị hủy" msgid "A order that is assigned to you was canceled" msgstr "Một đơn đặt từng được phân công cho bạn đã bị hủy bỏ" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "Mục đã nhận" @@ -2524,7 +2528,7 @@ msgstr "Tên tập tin" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2914,8 +2918,8 @@ msgstr "Sản phẩm là mẫu bởi mặc định" msgid "Parts can be assembled from other components by default" msgstr "Sản phẩm có thể lắp giáp từ thành phần khác theo mặc định" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "Thành phần" @@ -2931,7 +2935,7 @@ msgstr "Có thể mua" msgid "Parts are purchaseable by default" msgstr "Sản phẩm mặc định có thể mua được" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "Có thể bán" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "Khổ giấy" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "Tên miền rỗng là không được phép." -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Tên miền không hợp lệ: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "Nhà sản xuất" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "Doanh nghiêp" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "Địa chỉ email liên hệ" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "Liên hệ" @@ -4297,7 +4301,7 @@ msgstr "" msgid "Company Tax ID" msgstr "" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "Địa chỉ" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "Liên kết thông tin địa chỉ (bên ngoài)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "Sản phẩm nhà sản xuất" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "Chọn nhà sản xuất" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu với sản phẩm cơ bản tương tự" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Nhà cung cấp" @@ -4448,7 +4452,7 @@ msgstr "Nhà cung cấp" msgid "Select supplier" msgstr "Chọn nhà cung cấp" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "Đơn vị quản lý kho nhà cung cấp" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "Thu phí tối thiểu (vd: phí kho bãi)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "Đóng gói" @@ -4533,7 +4537,7 @@ msgstr "Tiền tệ mặc định được sử dụng cho nhà cung cấp này" msgid "Company Name" msgstr "" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "Còn hàng" @@ -4722,7 +4726,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "Hợp lệ" @@ -4838,7 +4842,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "Không rõ" @@ -4942,7 +4946,7 @@ msgstr "" msgid "Value of the property" msgstr "" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "Nhóm" @@ -4966,118 +4970,118 @@ msgstr "" msgid "Maximum value for progress type, required if type=progress" msgstr "" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "Tham chiếu đơn đặt" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "Tạo bởi" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "Đặt hàng" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "Sản phẩm nội bộ" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "Đã hoàn thành" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "Đơn hàng" msgid "Sales Order" msgstr "Đơn đặt hàng" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Đơn hàng trả lại" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "" msgid "Order description (optional)" msgstr "Mô tả đơn đặt (tùy chọn)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "Mã dự án đã chọn cho đơn đặt hàng này" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "Liên kết đến trang bên ngoài" @@ -5151,7 +5155,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Ngày mục tiêu" @@ -5184,487 +5188,487 @@ msgstr "Đầu mối liên hệ của đơn đặt này" msgid "Company address for this order" msgstr "Địa chỉ công ty cho đơn đặt này" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "Mã đặt hàng" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "Trạng thái" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "Trạng thái đơn đặt mua" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "Doanh nghiệp từ những hàng hóa đang được đặt mua" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "Tham chiếu nhà cung cấp" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "Mã tham chiếu đơn đặt nhà cung cấp" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "nhận bởi" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "Ngày đặt hàng đã được hoàn thiện" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "Đích đến" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "Nhà cung cấp sản phẩm phải trùng với nhà cung cấp PO" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "Mục dòng không phù hợp với đơn đặt mua" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "Số lượng phải là số dương" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Khách hàng" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "Doanh nghiệp từ những hàng hóa đang được bán" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "Tham chiếu khách hàng " -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "Mã tham chiếu đơn đặt của khách hàng" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "Ngày giao hàng" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "vận chuyển bằng" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "Những đơn hàng đang mở thì sẽ được đánh dấu là hoàn thành" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Đơn hàng không thể hoàn thành được vì vận chuyển chưa xong" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "Đơn hàng không thể hoàn thành được vì những khoản riêng chưa xong" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "Số lượng mặt hàng" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "Tham chiếu khoản riêng" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "Ghi chú khoản riêng" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Ngày mục tiêu cho khoản riêng này (để trống để sử dụng ngày mục tiêu từ đơn đặt)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "Mô tả khoản riêng (tùy chọn)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "Ngữ cảnh bổ sung" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "Đơn giá" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "Sản phẩm nhà cung cấp phải phù hợp với nhà cung cung cấp" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "Sản phẩm nhà cung cấp" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "Đã nhận" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "Số mục đã nhận" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "Giá đơn vị mua" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "Chỉ có thể gán sản phẩm có thể bán vào đơn đặt bán hàng" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "Giá bán" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "Giá bán đơn vị" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "Đã chuyển" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "Số lượng đã vận chuyển" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "Ngày vận chuyển" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "Ngày giao hàng" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "Ngày giao hàng của vận chuyển" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "Kiểm tra bởi" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "Người dùng đã kiểm tra vận chuyển này" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Vận chuyển" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "Mã vận chuyển" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "Số theo dõi" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "Thông tin theo dõi vận chuyển" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "Mã hóa đơn" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "Số tham chiếu liên kết với hóa đơn" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "Vận đơn đã được gửi đi" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "Vận đơn chưa có hàng hóa được phân bổ" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "Hàng trong kho chưa được giao" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "Không thể phân bổ hàng hóa vào cùng với dòng với sản phẩm khác" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "Không thể phân bổ hàng hóa vào một dòng mà không có sản phẩm nào" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Số lượng phân bổ không thể vượt quá số lượng của kho" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "Số lượng phân bổ phải lớn hơn 0" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "Số lượng phải là 1 cho hàng hóa sêri" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "Đơn bán hàng không phù hợp với vận đơn" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "Vận đơn không phù hợp với đơn bán hàng" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "Dòng" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "Tham chiếu vận đơn của đơn hàng bán" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "Hàng hóa" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "Chọn hàng trong kho để phân bổ" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "Nhập số lượng phân kho" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "Tham chiếu đơn hàng trả lại" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "Công ty có hàng hóa sẽ được trả lại" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "Trạng thái đơn hàng trả lại" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "Chọn hàng hóa để trả lại từ khách hàng" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "Ngày nhận được" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "Kết quả" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "Kết quả cho hàng hóa dòng này" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "Chi phí gắn với hàng trả lại hoặc sửa chữa cho dòng hàng hóa này" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "Sao chép thông số" @@ -5784,11 +5788,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "Mã sản phẩm nội bộ" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "Nhập mã lô cho hàng trong kho đang đến" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "Ngày hết hạn" @@ -6056,123 +6060,131 @@ msgstr "" msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "" @@ -6213,7 +6225,7 @@ msgstr "Từ khóa mặc định cho sản phẩm trong danh mục này" msgid "Icon" msgstr "Biểu tượng" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Biểu tượng (tùy chọn)" @@ -6349,7 +6361,7 @@ msgstr "Từ khóa sản phẩm để cải thiện sự hiện diện trong k msgid "Part category" msgstr "Danh mục sản phẩm" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6358,7 +6370,7 @@ msgstr "" msgid "Part revision or version number" msgstr "Số phiên bản hoặc bản duyệt lại sản phẩm" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "Phiên bản" @@ -6382,7 +6394,7 @@ msgstr "Hết hạn mặc định" msgid "Expiry time (in days) for stock items of this part" msgstr "Thời gian hết hạn (theo ngày) để nhập kho hàng hóa cho sản phẩm này" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "Kho tối thiểu" @@ -6390,7 +6402,7 @@ msgstr "Kho tối thiểu" msgid "Minimum allowed stock level" msgstr "Cấp độ kho tối thiểu được phép" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "Sản phẩm phụ" msgid "Select part to be used in BOM" msgstr "Chọn sản phẩm được dùng trong BOM" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "" msgid "Parent part category" msgstr "" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "Phụ mục" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 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:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "Sản phẩm gốc" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "Chọn sản phẩm gốc để nhân bản" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "Sao chép ảnh" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "Sao chép hình ảnh từ sản phẩm gốc" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "Sao chép BOM" -#: part/serializers.py:433 +#: part/serializers.py:444 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:440 +#: part/serializers.py:451 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:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "Sao chép ghi chú" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "Sao chép ghi chú từ sản phẩm gốc" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "Số liệu tồn kho ban đầu" -#: part/serializers.py:474 +#: 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:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "Vị trí kho ban đầu" -#: part/serializers.py:482 +#: 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:499 +#: 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:515 +#: 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:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "Mã số nhà sản xuất" -#: part/serializers.py:532 +#: 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:541 +#: 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:552 +#: 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:559 +#: 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:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "Tên danh mục" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "Đang dựng" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "Hàng trong kho" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Tổng số lượng" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "Nhân bản sản phẩm" -#: part/serializers.py:1001 +#: part/serializers.py:1012 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:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "Số liệu kho ban đầu" -#: part/serializers.py:1008 +#: part/serializers.py:1019 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:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "Thông tin nhà cung cấp" -#: part/serializers.py:1015 +#: part/serializers.py:1026 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:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:1025 +#: part/serializers.py:1036 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:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "Ảnh hiện có" -#: part/serializers.py:1031 +#: part/serializers.py:1042 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:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "Tệp hình ảnh không tồn tại" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "Xác minh toàn bộ hóa đơn vật liệu" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "Có thể dựng" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "Giá thấp nhất" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "Giá trị tính toán ghi đè cho giá tối thiểu" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "Tiền tế giá tối thiểu" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "Giá cao nhất" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "Giá trị tính toán ghi đè cho giá tối đa" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "Tiền tế giá tối đa" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "Cập nhật" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "Cập nhật giá cho sản phẩm này" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, 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:1580 +#: part/serializers.py:1591 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:1583 +#: part/serializers.py:1594 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:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 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:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "Xóa dữ liệu đã tồn tại" -#: part/serializers.py:2030 +#: part/serializers.py:2041 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:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "Bao gồm thừa hưởng" -#: part/serializers.py:2036 +#: part/serializers.py:2047 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:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "Bỏ qua dòng không hợp lệ" -#: part/serializers.py:2042 +#: part/serializers.py:2053 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:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "Sao chép sản phẩm thay thế" -#: part/serializers.py:2048 +#: part/serializers.py:2059 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" @@ -7326,91 +7338,91 @@ msgstr "Chưa chỉ ra hành động cụ thể" msgid "No matching action found" msgstr "Không tìm thấy chức năng phù hợp" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "Không tìm thấy dữ liệu mã vạch phù hợp" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "Đã tìm thấy dữ liệu mã vạch phù hợp" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "Mã vạch phù hợp với hàng hóa hiện có" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "Không tìm thấy thông tin sản phẩm phù hợp" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "Không tìm thấy sản phẩm nhà cung cấp phù hợp" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "Tìm thấy nhiều sản phẩm nhà cung cấp phù hợp" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "Sản phẩm nhà cung cấp phù hợp" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "Hàng hóa này đã được nhận" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "Kho không đủ hạn mức khả dụng" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "Không đủ thông tin" @@ -7992,7 +8004,7 @@ msgstr "Viền" msgid "Print a border around each label" msgstr "In một viền xung quanh từng nhãn" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "Ngang" @@ -8481,136 +8493,136 @@ msgstr "Pháp lý" msgid "Letter" msgstr "Thư" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "Tên mẫu" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "Mẫu tên tệp" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "Bộ lọc" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "Khổ giấy cho báo cáo PDF" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "Tạo báo cáo theo hướng ngang" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "Chiều rộng [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "Chiều rộng nhãn, tính theo mm" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "Chiều cao [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "Chiều cao nhãn, tính theo mm" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "Mẫu trích" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "Tệp báo cáo mẫu" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "Mô tả tệp báo cáo mẫu" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "Tài sản" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "Tệp báo cáo tài sản" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "Mô tả tệp báo cáo tài sản" @@ -8766,200 +8778,200 @@ msgstr "Không có kết quả" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "Không tìm thấy tệp hình ảnh" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "thẻ part_image yêu cầu 1 thực thể sản phẩm" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "thẻ company_image yêu cầu một thực thể doanh nghiệp" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "Mã trạng thái" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "Địa điểm bên ngoài" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "Cây sản phẩm" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "Ngày hết hạn trước đó" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "Ngày hết hạn sau đó" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "Ế" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "Bắt buộc nhập số lượng" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "Phải cung cấp sản phẩm hợp lệ" -#: stock/api.py:1153 +#: stock/api.py:1167 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:1163 +#: stock/api.py:1177 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:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Số sê-ri không thê được cung cấp cho sản phẩm không thể theo dõi" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "" @@ -8995,7 +9007,7 @@ msgstr "Chọn chủ sở hữu" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Không thể đưa trực tiếp hàng trong kho vào bên trong vị trí kho hàng có cấu trúc, nhưng có thể đặt vào kho con." -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "Bên ngoài" @@ -9101,7 +9113,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:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "Đóng gói hàng hóa này được lưu trữ lại" @@ -9117,7 +9129,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:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "Mã lô cho hàng trong kho này" @@ -9234,7 +9246,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:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "Mặt hàng trùng lặp" @@ -9398,7 +9410,7 @@ msgstr "Điền số sêri cho hàng hóa mới" msgid "Supplier Part Number" msgstr "Số hiệu hàng hoá nhà cung cấp" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "Đã hết hạn" @@ -9428,8 +9440,8 @@ msgstr "" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Số lượng phải không vượt quá số lượng trong kho đang có ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "Vị trí kho đích" @@ -9501,127 +9513,127 @@ 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:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "Kho phụ" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "Sản phẩm phải có thể bán được" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 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:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 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:1427 +#: stock/serializers.py:1438 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:1433 +#: stock/serializers.py:1444 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:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "Ghi chú phân bổ kho" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 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:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "Ghi chú gộp kho" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "Cho phép nhiều nhà cung không khớp" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 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:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "Cho phép trạng thái không khớp" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 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:1552 +#: stock/serializers.py:1563 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:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "Giá trị khóa chính mặt hàng" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "Ghi chú giao dịch kho" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "" @@ -9919,7 +9931,7 @@ msgstr "Quyền" msgid "Important dates" msgstr "Ngày quan trọng" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "Mã thông báo đã bị thu hồi" @@ -9927,163 +9939,163 @@ msgstr "Mã thông báo đã bị thu hồi" msgid "Token has expired" msgstr "Mã thông báo đã hết hạn" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "Mã thông báo API" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "Mã thông báo API" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "Tên mã thông báo" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "Tên tùy chỉnh mã thông báo" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "Ngày hết hạn mã thông báo" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "Xem lần cuối" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "Lần cuối mã thông báo được sử dụng" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "Đã thu hồi" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "Quyền hạn đã đặt" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "Xem" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "Quyền để xem mục" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "Thêm" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "Quyền để thêm mục" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "Đổi" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "Quyển để sửa mục" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "Xóa" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Quyền để xóa mục" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" 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 29452758b7..baffe26bae 100644 --- a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "未找到 API 端点" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "批量操作必须提供物料清单" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "必须以列表形式提供项目" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "提供了无效的单位" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "所有过滤器只能使用true" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "没有符合所供条件的项目" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "未提供数据" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "此字段的值必须是唯一的。" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "用户没有权限查阅当前模型。" @@ -65,11 +65,11 @@ msgstr "邮箱地址已确认" msgid "You must type the same email each time." msgstr "您必须每次输入相同的电子邮件。" -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "提供的主电子邮件地址无效。" -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "提供的邮箱域名未被批准。" @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "不能将 {original} 转换到 {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "提供的数量无效" @@ -105,22 +105,22 @@ msgstr "输入日期" msgid "Invalid decimal value" msgstr "无效的数值" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "备注" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "值' {name}' 未出现在模式格式中" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "提供的值与所需模式不匹配:" @@ -164,51 +164,51 @@ msgstr "从这个值中删除 HTML 标签" msgid "Data contains prohibited markdown content" msgstr "数据包含禁止的 markdown 内容" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "无效URL:没有主机名" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "无效URL:无法解析的主机名" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "URL指向私有或保留IP地址" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "太多重定向" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "连接错误" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "服务器响应状态码无效" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "发生异常" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "服务器响应的内容长度值无效" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "图片尺寸过大" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "图片下载超出最大尺寸" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "远程服务器返回了空响应" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "提供的 URL 不是一个有效的图片文件" @@ -220,117 +220,121 @@ msgstr "登录应用程序" msgid "Email" msgstr "电子邮件" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "您必须启用双重身份验证才能进行后续操作。" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "运行插件验证时出错" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "元数据必须是 Python dict 对象" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "插件元数据" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "供外部插件使用的JSON元数据字段" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "格式错误" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "使用了未知的格式键值" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "缺少必需的格式键值" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "参考字段不能为空" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "参考字段必须符合指定格式" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "参考编号过大" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "无效选项" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "名称" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "描述" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "描述(选填)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "路径" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "同一父级下不能存在重复名称" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Markdown备注(选填)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "条码数据" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "第三方条码数据" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "条码哈希值" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "条码数据的唯一哈希值" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "检测到已存在条码" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "服务器错误" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "必须是有效数字" msgid "Currency" msgstr "货币" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "从可用选项中选择货币" @@ -521,11 +525,11 @@ msgstr "中文 (简体)" msgid "Chinese (Traditional)" msgstr "中文 (繁体)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "有可用更新" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "InvenTree有可用更新" @@ -537,7 +541,7 @@ msgstr "无效的物理单位" msgid "Not a valid currency code" msgstr "无效的货币代码" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "订单状态" @@ -546,23 +550,23 @@ msgstr "订单状态" msgid "Parent Build" msgstr "父级生产订单" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "包含变体" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "包含变体" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "包含变体" msgid "Part" msgstr "零件" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "类别" @@ -593,7 +597,7 @@ msgstr "类别" msgid "Ancestor Build" msgstr "可测试部分" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "分配给我" @@ -601,11 +605,11 @@ msgstr "分配给我" msgid "Assigned To" msgstr "负责人" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "创建时间早于" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "创建时间晚于" @@ -641,99 +645,99 @@ msgstr "完成日期早于" msgid "Completed after" msgstr "完成日期晚于" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "最小日期" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "最大日期" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "排除树" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "生产订单必须取消后才能删除" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "耗材" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "可选项" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "装配件" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "可追溯" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "需检测" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "未结算订单" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "已分配" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "已消耗" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "可用数量" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "已订购" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "未找到版本" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "生产订单" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "库存位置" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "产出" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "按产出库存项ID筛选,使用“null”查找未安装的生产项。" @@ -773,9 +777,9 @@ msgstr "目标日期必须在开始日期之后" msgid "Build Order Reference" msgstr "生产订单编号" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "销售订单编号" msgid "Sales Order to which this build is allocated" msgstr "该生产订单关联的销售订单" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "源库位" @@ -821,7 +825,7 @@ msgstr "外协生产" msgid "This build order is fulfilled externally" msgstr "该生产订单由外部供应商完成" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "目标库位" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "生产状态代码" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "批号" @@ -883,8 +887,8 @@ msgstr "计划完成日期" msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产订单的计划完成时间,逾期后系统将标记为超期。" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "完成日期" @@ -900,7 +904,7 @@ msgstr "发起人" msgid "User who issued this build order" msgstr "创建该生产订单的用户" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "此生产订单的优先级" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "项目编号" @@ -962,9 +966,9 @@ msgstr "产出与生产订单不匹配" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "数量必须大于零" @@ -999,7 +1003,7 @@ msgstr "生产对象" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "序列化物料的数量必须为1" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "库存品项超额分配" @@ -1057,8 +1061,8 @@ msgstr "库存品项超额分配" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "库存项" @@ -1082,7 +1086,7 @@ msgstr "目标库存项" msgid "Build Level" msgstr "生产等级" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "零件名称" @@ -1139,7 +1143,7 @@ msgstr "自动分配序列号" msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项目分配对应的序列号" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" @@ -1272,7 +1276,7 @@ msgstr "生产行项目" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单零件相同" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "项目必须在库存中" @@ -1385,8 +1389,8 @@ msgstr "安裝到" msgid "Build" msgstr "生产" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "供应商零件" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "允许变体" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "物料清单项" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "生产中" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "生产计划" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "外部库存" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "可用库存" @@ -1527,31 +1531,31 @@ msgstr "逾期的生产订单" msgid "Build order {bo} is now overdue" msgstr "生产订单 {bo} 现已逾期" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "是否链接" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "是否为文件" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "用户没有权限删除此附件" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "用户没有编辑此附件的权限" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "用户没有权限删除此附件" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "选择列表已锁定" @@ -1571,8 +1575,8 @@ msgstr "未提供有效的货币代码" msgid "No plugin" msgstr "暂无插件" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "标签" @@ -1645,8 +1649,8 @@ msgstr "键字符串必须是唯一的" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "使用者" @@ -1654,8 +1658,8 @@ msgstr "使用者" msgid "Price break quantity" msgstr "批发价数量" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "价格" @@ -1677,8 +1681,8 @@ msgstr "此网络钩子的名称" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "激活" @@ -1686,7 +1690,7 @@ msgstr "激活" msgid "Is this webhook active" msgstr "网络钩子是否已启用" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "令牌" @@ -1756,7 +1760,7 @@ msgstr "标题" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "此参数的有效选择 (逗号分隔)" msgid "Selection list for this parameter" msgstr "此参数的选择列表" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "已启用" @@ -2204,8 +2208,8 @@ msgstr "型号ID" msgid "ID of the target model for this parameter" msgstr "此参数的目标模型的 ID" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "模板" @@ -2262,7 +2266,7 @@ msgstr "扫描条形码的日期和时间" msgid "URL endpoint which processed the barcode" msgstr "处理条码的 URL 端点" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "上下文" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "邮件主题" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "键" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} 已取消" msgid "A order that is assigned to you was canceled" msgstr "分配给您的订单已取消" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "收到的物品" @@ -2524,7 +2528,7 @@ msgstr "文件名" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "模型类型" @@ -2914,8 +2918,8 @@ msgstr "零件默认为模板" msgid "Parts can be assembled from other components by default" msgstr "默认情况下,元件可由其他零件组装而成" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "组件" @@ -2931,7 +2935,7 @@ msgstr "可购买" msgid "Parts are purchaseable by default" msgstr "默认情况下可购买零件" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "可销售" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "记录生成报告时出现的错误" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "页面大小" @@ -4130,49 +4134,49 @@ msgstr "最终级别的展示项目" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "对于没有子项的位置或类别,自动默认显示项目/零件,而不是子级别" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "全部型号" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "未提供附件型号" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "附件模型类型无效" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "最小位置不能大于最大位置" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "最大名额不能小于最小名额" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "不允许空域。" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "无效的域名: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "值必须大写" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "值必须是一个有效的变量标识符" @@ -4201,12 +4205,12 @@ msgid "Supplier is Active" msgstr "供应商已激活" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "制造商" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "公司" @@ -4247,7 +4251,7 @@ msgid "Contact email address" msgstr "联系人电子邮箱地址" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "联系人" @@ -4299,7 +4303,7 @@ msgstr "税号" msgid "Company Tax ID" msgstr "公司税号" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "地址" @@ -4392,7 +4396,7 @@ msgid "Link to address information (external)" msgstr "链接地址信息 (外部)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "制造商零件" @@ -4410,7 +4414,7 @@ msgid "Select manufacturer" msgstr "选择制造商" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "制造商零件编号" @@ -4439,10 +4443,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "链接的制造商零件必须引用相同的基础零件" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "供应商" @@ -4450,7 +4454,7 @@ msgstr "供应商" msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "供应商库存管理单位" @@ -4487,7 +4491,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "最低费用(例如库存费)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "打包" @@ -4535,7 +4539,7 @@ msgstr "此供应商使用的默认货币" msgid "Company Name" msgstr "公司名称" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "有库存" @@ -4724,7 +4728,7 @@ msgstr "原始行数据" msgid "Errors" msgstr "错误" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "有效" @@ -4840,7 +4844,7 @@ msgstr "每个标签要打印的份数" msgid "Connected" msgstr "已连接" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "未知" @@ -4944,7 +4948,7 @@ msgstr "属性键" msgid "Value of the property" msgstr "属性值" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "组" @@ -4968,118 +4972,118 @@ msgstr "最大进度" msgid "Maximum value for progress type, required if type=progress" msgstr "进度类型的最大值。当 type=progress 时为必填项" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "订单参考" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "未完成" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "有项目编码" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "创建人" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "创建时间早于" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "创建时间晚于" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "有开始日期" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "开始日期早于" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "开始日期晚于" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "有目标日期" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "目标日期早于" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "目标日期晚于" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "更新时间早于" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "更新时间晚于" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "有定价" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "完成时间早于" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "完成时间晚于" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "外部生产订单" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "订单" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "订单完成" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "内部零件" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "订单待定" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "已完成" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "有配送" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "未找到发货记录" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "采购订单" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5087,14 +5091,14 @@ msgstr "采购订单" msgid "Sales Order" msgstr "销售订单" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "退货订单" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5137,11 +5141,11 @@ msgstr "地址与所选公司不匹配" msgid "Order description (optional)" msgstr "订单描述 (可选)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "为此订单选择项目编码" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "链接到外部页面" @@ -5153,7 +5157,7 @@ msgstr "开始日期" msgid "Scheduled start date for this order" msgstr "本订单的预定开始日期" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "预计日期" @@ -5186,487 +5190,487 @@ msgstr "此订单的联系人" msgid "Company address for this order" msgstr "此订单的公司地址" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "订单参考" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "狀態" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "采购订单状态" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "订购物品的公司" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "供应商参考" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "供应商订单参考代码" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "接收人" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "订单完成日期" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "目的地" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "接收物品的目标" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "零件供应商必须与采购订单供应商匹配" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "行项目与采购订单不匹配" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "行项目缺少关联零件" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "数量必须是正数" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "序列号不能分配给虚拟件" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "客户" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "出售物品的公司" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "销售订单状态" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "客户参考 " -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "客户订单参考代码" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "发货日期" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "发货人" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "订单已完成" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "订单已取消" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "只有未结订单才能标记为已完成" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "由于发货不完整,订单无法完成" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "由于缺货,订单无法完成" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "订单无法完成,因为行项目不完整" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "订单已锁定,不可修改" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "项目数量" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "行号" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "此项目的行号(可选)" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "行项目参考" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "行项目注释" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "此行项目的目标日期 (留空以使用订单中的目标日期)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "行项目描述 (可选)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "此行的附加上下文" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "单位价格" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "采购订单行项目" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "供应商零件必须与供应商匹配" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "生产订单必须标记为外部" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "生产订单仅可关联至装配零件" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "生产订单零件必须与行项目零件一致" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "装配零件需要外部生产订单" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "供应商零件" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "已接收" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "收到的物品数量" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "每单位的采购价格" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "外部生产订单需由此行项目履行" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "采购订单附加行" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "销售订单行项目" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "只有可销售的零件才能分配给销售订单" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "售出价格" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "单位售出价格" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "已配送" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "发货数量" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "销售订单发货" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "收货地址必须与该客户的资料一致" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "本次发货的收货地址" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "发货日期" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "送达日期" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "装运交货日期" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "审核人" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "检查此装运的用户" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "配送" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "配送单号" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "跟踪单号" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "配送跟踪信息" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "发票编号" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "相关发票的参考号" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "货物已发出" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "发货没有分配库存项目" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "货件必须先经核对,方可标记为完成" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "销售订单加行" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "销售订单分配" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "库存项目尚未分配" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "无法将库存项目分配给具有不同零件的行" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "无法将库存分配给没有零件的生产线" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "分配数量不能超过库存数量" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "分配的数量必须大于零" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "序列化库存项目的数量必须为1" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "销售订单与发货不匹配" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "发货与销售订单不匹配" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "行" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "销售订单发货参考" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "项目" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "选择要分配的库存项目" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "输入库存分配数量" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "退货订单参考" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "退回物品的公司" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "退货订单状态" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "退货订单行项目" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "必须指定库存项" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "退回数量超过库存数量" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "退回数量必须大于零" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "序列化库存项的数量无效" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "选择要从客户处退回的商品" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "接收日期" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "收到此退货的日期" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "结果" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "该行项目的结果" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "与此行项目的退货或维修相关的成本" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "退货订单附加行" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5694,7 +5698,7 @@ msgstr "复制额外行" msgid "Copy extra line items from the original order" msgstr "从原始订单复制额外的行项目" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "复制参数" @@ -5786,11 +5790,11 @@ msgstr "合并项目" msgid "Merge items with the same part, destination and target date into one line item" msgstr "将具有相同零件、目的地和目标日期的项目合并到一个行项目中" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "库存量单位" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "内部零件编号" @@ -5827,7 +5831,7 @@ msgid "Enter batch code for incoming stock items" msgstr "输入入库项目的批号" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "有效期至" @@ -6058,123 +6062,131 @@ msgstr "逾期退货订单" msgid "Return order {ro} is now overdue" msgstr "退货订单 {ro} 现已逾期" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "已加星标" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "按星标类别筛选" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "深度" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "按类别深度筛选" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "顶级" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "按顶级类别筛选" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "级联" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "在筛选结果中包含子类别" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "父类" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "按父类别筛选" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "排除指定类别下的子类别" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "有结果" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "是变体" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "是修订版本" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "有修订版本" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "物料清单合规" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "级联分类" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "如果为真,则包含给定分类下的所有子分类中的项目" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "按数字分类ID或字面值 \"null\" 进行筛选" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "装配零件已启用" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "装配零件可追踪" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "装配部份是可测试的" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "装配零件已锁定" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "元器件已激活" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "该零部件可追溯" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "组件部份是可测试的" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "该零部件是一个装配件" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "该零部件为虚拟件" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "有可用库存" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "使用" @@ -6215,7 +6227,7 @@ msgstr "此类别零件的默认关键字" msgid "Icon" msgstr "图标" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "图标(可选)" @@ -6351,7 +6363,7 @@ msgstr "提高搜索结果可见性的零件关键字" msgid "Part category" msgstr "零件类别" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "内部零件号 IPN" @@ -6360,7 +6372,7 @@ msgstr "内部零件号 IPN" msgid "Part revision or version number" msgstr "零件修订版本或版本号" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "版本" @@ -6384,7 +6396,7 @@ msgstr "默认到期" msgid "Expiry time (in days) for stock items of this part" msgstr "此零件库存项的过期时间 (天)" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "最低库存" @@ -6392,7 +6404,7 @@ msgstr "最低库存" msgid "Minimum allowed stock level" msgstr "允许的最小库存量" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "最大库存" @@ -6761,7 +6773,7 @@ msgstr "子零件" msgid "Select part to be used in BOM" msgstr "选择要用于物料清单的零件" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "数量" @@ -6913,351 +6925,351 @@ msgstr "上级类别" msgid "Parent part category" msgstr "上级零件类别" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "子类别" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "结果" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "根据该模板记录的结果数量" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "购买此库存项的货币" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "文件不是一个图片" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "原始零件" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "选择要复制的原始零件" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "复制图片" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "从原零件复制图片" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "复制物料清单" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "从原始零件复制材料清单" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "从原始零件复制参数数据" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "复制备注" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "从原始零件复制备注" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "复制测试" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "从原始零件复制测试模板" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "初始化库存数量" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "指定此零件的初始库存数量。如果数量为零,则不添加任何库存。" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "初始化库存地点" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "初始化指定此零件的库存地点" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "选择供应商(或为空以跳过)" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "选择制造商(或为空)" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "制造商零件号" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "所选公司不是一个有效的供应商" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "所选公司不是一个有效的制造商" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "与此制造商零件编号 (MPN) 的相匹配的制造商零件已存在" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "匹配此库存单位 (SKU) 的供应商零件已存在" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "类别名称" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "正在生产" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "目前正在生产的零件数量" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "此零件计划待产数量" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "库存项" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "修订" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "库存总量" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "未分配的库存" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "变体库存" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "重复零件" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "从另一个零件复制初始数据" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "初始库存" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "创建具有初始库存数量的零件" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "供应商信息" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "添加此零件的初始供应商信息" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "从选择的零件复制参数模版" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "现有的图片" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "现有零件图片的文件名" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "图片不存在" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "验证整个物料清单" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "可以创建" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "生产订单必填项" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "分配到生产订单" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "销售订单必填项" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "分配到销售订单" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "内部零件号" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "零件描述" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "选择一个物料,以生成该物料(及其所有变型物料)的盘点信息" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "选择一个分类,以包含该分类(及其子分类)下的所有物料" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "选择一个库位,以包含该库位(含子库位)中有库存的所有物料" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "生成盘点条目" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "保存所选物料的盘点条目" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "生成报告" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "为所选物料生成盘点报告" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "最低价格" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "覆盖已计算的最低价格值" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "最低价格货币" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "最高价格" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "覆盖已计算的最高价格值" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "最高价格货币" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "更新" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "更新这个零件的价格" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "无法将所提供的货币转换为 {default_currency}" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "最低价格不能高于最高价格。" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "最高价格不能低于最低价格" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "此商品所需数量(可包含单位)" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "选择父装配" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "选择零部件" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "无效的数量格式" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "选择要复制物料清单的零件" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "移除现有数据" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "复制前删除现有的物料清单项目" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "包含继承的" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "包含从模板零件继承的物料清单项目" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "跳过无效行" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "启用此选项以跳过无效行" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "复制替代品零件" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "复制物料清单项目时复制替代品零件" @@ -7328,91 +7340,91 @@ msgstr "未指定操作" msgid "No matching action found" msgstr "未找到指定操作" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "未找到匹配条形码数据" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "找到匹配条形码数据" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "不支持模型" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "找不到模型实例" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "条形码匹配现有项目" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "没有找到匹配的零件数据" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "没有找到匹配的供应商零件" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "找到多个匹配的供应商零件" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "没有找到匹配条形码数据的插件" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "匹配的供应商零件" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "项目已被接收" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "没有匹配供应商条形码的插件" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "找到多个匹配的行项目" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "未找到匹配的行项目" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "未提供销售订单" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "条形码与现有的库存项不匹配" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "库存项与行项目不匹配" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "可用库存不足" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "库存项已分配到销售订单" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "没有足够的信息" @@ -7994,7 +8006,7 @@ msgstr "边框" msgid "Print a border around each label" msgstr "打印每个标签的边框" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "横屏模式" @@ -8483,136 +8495,136 @@ msgstr "法律" msgid "Letter" msgstr "字母" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "已存在具有此名称的模板" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "模版名称" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "模板说明" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "修订编号 (自动增量)" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "打印时附加到模型" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "打印时将报告输出保存为附件与链接模型实例" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "文件名样式" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "生成文件名模式" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "模板已启用" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "模版的目标模型类型" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "筛选器" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "模版查询筛选器 (逗号分隔的键值对列表)" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "模板包文件" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "PDF 报告的页面大小" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "横向渲染报告" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "合并" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "针对选定项目生成独立报" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "基于模板 {self.name} 生成的报告" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "模板语法错误" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "报告渲染错误" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "报告生成错误" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "报告合并输出错误" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "宽度 [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "标签宽度,以毫米为单位。" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "高度 [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "标签高度,以毫米为单位。" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "标签打印错误" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "代码片段" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "报告代码片段文件" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "代码片段文件描述" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "资产" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "报告资产文件" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "资产文件描述" @@ -8768,200 +8780,200 @@ msgstr "没有结果" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "无效的媒体文件路径" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "无效的静态文件路径" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "未找到资源文件" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "找不到图片文件" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "未指定图片文件" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "parpart_image 标签需要一个零件实例" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "公司_图片标签需要一个公司实例" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "按位置深度筛选" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "按顶级位置筛选" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "在筛选结果中包含子地点" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "上级地点" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "按上级位置筛选" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "零件名称 (不区分大小写)" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "零件名称包含 (不区分大小写)" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "零件名称 (正则表达式)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "内部零件号 (不区分大小写)" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "内部零件号 (不区分大小写)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "内部零件号 (正则表达式)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "最低库存" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "最大库存" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "状态代码" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "外部地点" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "被生产订单消耗" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "安装于其他库存项中" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "零件树" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "更新时间早于" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "更新时间晚于" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "盘点时间早于" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "盘点时间晚于" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "过期日期前" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "过期日期后" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "过期" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "提供库存项的主键(PK)以排除该项及其所有子项" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "级联位置" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "若为真,则包含给定位置的所有子位置中的项目" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "按数字位置ID或字母“null”筛选" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "请先输入数量" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "必须提供有效的零件" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "给定的供应商零件不存在" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "供应商零件有定义的包装大小,但 use_pack_size 标志未设置" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "不能为不可跟踪的零件提供序列号" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "包含已安装项" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "如果为真,则包含给定库存项下已安装组件的测试结果" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "按数字库存项ID进行筛选" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "ID 为 {id} 的库存项不存在" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "包含零件变体" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "日期晚于" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "日期早于" @@ -8997,7 +9009,7 @@ msgstr "选择所有者" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "库存项可能不直接位于结构库存地点,但可能位于其子地点。" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "外部" @@ -9103,7 +9115,7 @@ msgstr "为此库存项目选择匹配的供应商零件" msgid "Where is this stock item located?" msgstr "这个库存物品在哪里?" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "包装此库存物品存储在" @@ -9119,7 +9131,7 @@ msgstr "此项目是否安装在另一个项目中?" msgid "Serial number for this item" msgstr "此项目的序列号" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "此库存项的批号" @@ -9236,7 +9248,7 @@ msgstr "库存项目前正在生产" msgid "Serialized stock cannot be merged" msgstr "序列化的库存不能合并" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "复制库存项" @@ -9400,7 +9412,7 @@ msgstr "输入新项目的序列号" msgid "Supplier Part Number" msgstr "供应商零件编号" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "已过期" @@ -9430,8 +9442,8 @@ msgstr "未提供库存项" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "数量不得超过现有库存量 ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "目标库存位置" @@ -9503,127 +9515,127 @@ msgstr "选择要更改状态的库存项目" msgid "No stock items selected" msgstr "未选择库存商品" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "子位置" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "上级库存地点" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "零件必须可销售" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "物料已分配到销售订单" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "项目被分配到生产订单中" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "客户分配库存项目" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "所选公司不是客户" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "库存分配说明" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "必须提供库存物品清单" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "库存合并说明" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "允许不匹配的供应商" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "允许合并具有不同供应商零件的库存项目" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "允许不匹配的状态" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "允许合并具有不同状态代码的库存项目" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "必须提供至少两件库存物品" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "无更改" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "库存项主键值" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "库存项无现货" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "库存项已有现货" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "数量不得为负" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "库存交易记录" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "合并至现有库存" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "若可行,将退回项目合并至现有库存项" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "下一个序列号" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "上一个序列号" @@ -9921,7 +9933,7 @@ msgstr "权限" msgid "Important dates" msgstr "重要日期" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "令牌已被撤销" @@ -9929,163 +9941,163 @@ msgstr "令牌已被撤销" msgid "Token has expired" msgstr "令牌已过期" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "API 令牌" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "API 令牌" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "令牌名称" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "自定义令牌名称" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "令牌过期日期" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "最近一次在线" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "最近使用令牌的时间" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "撤销" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "权限设置" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "查看" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "查看项目的权限" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "添加" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "添加项目的权限" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "更改" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "编辑项目的权限" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "删除" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "删除项目的权限" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "机器人" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "内部" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "访客" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "语言" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "用户首选语言" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "主题" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "Web界面设置为 JSON - 不要手动编辑!" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "小部件" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "设置面板小部件为 JSON - 不要手动编辑!" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "显示名称" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "用户自定义的显示名称" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "职位" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "主要职务或职位" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "用户状态信息" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "用户地址信息" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "用户正在积极使用系统" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "用户首选联系信息" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "用户类型" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "请选择用户类型?" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "组织" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "用户主要组织/附属关系" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "主组" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "用户主组" diff --git a/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po index e1461fa4fa..4c4ceb6763 100644 --- a/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-17 22:11+0000\n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"POT-Creation-Date: 2026-06-24 00:46+0000\n" +"PO-Revision-Date: 2026-06-24 00:49\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -17,39 +17,39 @@ msgstr "" "X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 250\n" -#: InvenTree/api.py:368 +#: InvenTree/api.py:369 msgid "API endpoint not found" msgstr "未找到 API 端點" -#: InvenTree/api.py:441 +#: InvenTree/api.py:442 msgid "List of items must be provided for bulk operation" msgstr "必須提供項目清單以進行大量操作" -#: InvenTree/api.py:448 +#: InvenTree/api.py:449 msgid "Items must be provided as a list" msgstr "項目必須以列表形式提供" -#: InvenTree/api.py:456 +#: InvenTree/api.py:457 msgid "Invalid items list provided" msgstr "提供了無效的單位" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "All filter must only be used with true" msgstr "all 篩選器只能在值為 true 時使用" -#: InvenTree/api.py:466 +#: InvenTree/api.py:467 msgid "No items match the provided criteria" msgstr "沒有項目符合所提供的條件" -#: InvenTree/api.py:490 +#: InvenTree/api.py:491 msgid "No data provided" msgstr "未提供資料" -#: InvenTree/api.py:506 +#: InvenTree/api.py:507 msgid "This field must be unique." msgstr "此欄位須唯一值。" -#: InvenTree/api.py:835 +#: InvenTree/api.py:836 InvenTree/models.py:1345 msgid "User does not have permission to view this model" msgstr "用户沒有權限查閲當前模型。" @@ -65,11 +65,11 @@ msgstr "郵箱地址已確認" msgid "You must type the same email each time." msgstr "您必須每次輸入相同的電子郵件。" -#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139 +#: InvenTree/auth_overrides.py:135 InvenTree/auth_overrides.py:142 msgid "The provided primary email address is not valid." msgstr "提供的主電子郵件地址無效。" -#: InvenTree/auth_overrides.py:145 +#: InvenTree/auth_overrides.py:148 msgid "The provided email domain is not approved." msgstr "提供的郵箱域名未被批准。" @@ -88,7 +88,7 @@ msgid "Could not convert {original} to {unit}" msgstr "不能將 {original} 轉換到 {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:797 order/models.py:1092 +#: InvenTree/helpers.py:612 order/models.py:798 order/models.py:1093 #: part/models.py:3999 msgid "Invalid quantity provided" msgstr "提供的數量無效" @@ -105,22 +105,22 @@ msgstr "輸入日期" msgid "Invalid decimal value" msgstr "無效的十進位數值" -#: InvenTree/fields.py:218 InvenTree/models.py:1250 build/serializers.py:499 +#: InvenTree/fields.py:218 InvenTree/models.py:1251 build/serializers.py:499 #: build/serializers.py:549 build/serializers.py:1744 company/models.py:824 -#: order/models.py:2037 +#: order/models.py:2039 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:3063 stock/models.py:3187 stock/serializers.py:749 -#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1440 -#: stock/serializers.py:1529 stock/serializers.py:1728 +#: stock/serializers.py:925 stock/serializers.py:1067 stock/serializers.py:1451 +#: stock/serializers.py:1540 stock/serializers.py:1739 msgid "Notes" msgstr "備註" -#: InvenTree/format.py:166 +#: InvenTree/format.py:159 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "值' {name}' 未出現在模式格式中" -#: InvenTree/format.py:177 +#: InvenTree/format.py:170 msgid "Provided value does not match required pattern: " msgstr "提供的值與所需模式不匹配:" @@ -164,51 +164,51 @@ msgstr "從這個值中刪除 HTML 標籤" msgid "Data contains prohibited markdown content" msgstr "資料包含被禁止的 Markdown 內容" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:104 msgid "Invalid URL: no hostname" msgstr "無效的 URL:沒有主機名稱" -#: InvenTree/helpers_model.py:114 +#: InvenTree/helpers_model.py:109 msgid "Invalid URL: hostname could not be resolved" msgstr "無效的 URL:無法解析主機名稱" -#: InvenTree/helpers_model.py:120 +#: InvenTree/helpers_model.py:115 msgid "URL points to a private or reserved IP address" msgstr "URL 指向私有或保留的 IP 地址" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:192 msgid "Too many redirects" msgstr "重新導向次數過多" -#: InvenTree/helpers_model.py:202 +#: InvenTree/helpers_model.py:197 msgid "Connection error" msgstr "連接錯誤" -#: InvenTree/helpers_model.py:207 InvenTree/helpers_model.py:216 +#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 msgid "Server responded with invalid status code" msgstr "服務器響應狀態碼無效" -#: InvenTree/helpers_model.py:212 +#: InvenTree/helpers_model.py:207 msgid "Exception occurred" msgstr "發生異常" -#: InvenTree/helpers_model.py:222 +#: InvenTree/helpers_model.py:217 msgid "Server responded with invalid Content-Length value" msgstr "服務器響應的內容長度值無效" -#: InvenTree/helpers_model.py:225 +#: InvenTree/helpers_model.py:220 msgid "Image size is too large" msgstr "圖片尺寸過大" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:232 msgid "Image download exceeded maximum size" msgstr "圖片下載超出最大尺寸" -#: InvenTree/helpers_model.py:242 +#: InvenTree/helpers_model.py:237 msgid "Remote server returned empty response" msgstr "遠程服務器返回了空響應" -#: InvenTree/helpers_model.py:250 +#: InvenTree/helpers_model.py:245 msgid "Supplied URL is not a valid image file" msgstr "提供的 URL 不是一個有效的圖片文件" @@ -220,117 +220,121 @@ msgstr "登入此應用程式" msgid "Email" msgstr "電子郵件" -#: InvenTree/middleware.py:192 +#: InvenTree/middleware.py:126 +msgid "CSRF verification failed. Ensure INVENTREE_SITE_URL and INVENTREE_TRUSTED_ORIGINS are configured correctly." +msgstr "" + +#: InvenTree/middleware.py:218 msgid "You must enable two-factor authentication before doing anything else." msgstr "在進行任何其他操作前,必須先啟用雙因素驗證。" -#: InvenTree/models.py:128 +#: InvenTree/models.py:129 msgid "Error running plugin validation" msgstr "驗證外掛程式時發生錯誤" -#: InvenTree/models.py:210 +#: InvenTree/models.py:211 msgid "Metadata must be a python dict object" msgstr "Metadata必須是一個Python Dictionary物件" -#: InvenTree/models.py:216 +#: InvenTree/models.py:217 msgid "Plugin Metadata" msgstr "外掛程式Metadata" -#: InvenTree/models.py:217 +#: InvenTree/models.py:218 msgid "JSON metadata field, for use by external plugins" msgstr "外掛程式使用的JSON Metadata欄位" -#: InvenTree/models.py:400 +#: InvenTree/models.py:401 msgid "Improperly formatted pattern" msgstr "格式錯誤" -#: InvenTree/models.py:407 +#: InvenTree/models.py:408 msgid "Unknown format key specified" msgstr "指定了不明的格式鍵值" -#: InvenTree/models.py:413 +#: InvenTree/models.py:414 msgid "Missing required format key" msgstr "缺少必須的格式鍵值" -#: InvenTree/models.py:424 +#: InvenTree/models.py:425 msgid "Reference field cannot be empty" msgstr "參考欄位不能空白" -#: InvenTree/models.py:432 +#: InvenTree/models.py:433 msgid "Reference must match required pattern" msgstr "參考欄位並須符合格式" -#: InvenTree/models.py:463 +#: InvenTree/models.py:464 msgid "Reference number is too large" msgstr "參考編號過大" -#: InvenTree/models.py:918 +#: InvenTree/models.py:919 msgid "Invalid choice" msgstr "無效的選項" -#: InvenTree/models.py:1039 common/models.py:1443 common/models.py:1870 +#: InvenTree/models.py:1040 common/models.py:1443 common/models.py:1870 #: common/models.py:2303 common/models.py:2428 common/models.py:2725 #: common/serializers.py:672 generic/states/serializers.py:20 #: machine/models.py:25 part/models.py:1106 plugin/models.py:54 -#: report/models.py:221 stock/models.py:87 +#: report/models.py:222 stock/models.py:87 msgid "Name" msgstr "名稱" -#: InvenTree/models.py:1045 build/models.py:265 common/models.py:180 +#: InvenTree/models.py:1046 build/models.py:265 common/models.py:180 #: common/models.py:2435 common/models.py:2576 common/models.py:2740 #: company/models.py:559 company/models.py:815 order/models.py:487 -#: order/models.py:2082 part/models.py:1129 report/models.py:227 -#: report/models.py:858 report/models.py:884 +#: order/models.py:2084 part/models.py:1129 report/models.py:228 +#: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:93 msgid "Description" msgstr "描述" -#: InvenTree/models.py:1046 stock/models.py:94 +#: InvenTree/models.py:1047 stock/models.py:94 msgid "Description (optional)" msgstr "描述(選填)" -#: InvenTree/models.py:1061 common/models.py:3050 +#: InvenTree/models.py:1062 common/models.py:3050 msgid "Path" msgstr "路徑" -#: InvenTree/models.py:1166 +#: InvenTree/models.py:1167 msgid "Duplicate names cannot exist under the same parent" msgstr "同一個上層元件下不能有重複的名字" -#: InvenTree/models.py:1250 +#: InvenTree/models.py:1251 msgid "Markdown notes (optional)" msgstr "Markdown 註記(選填)" -#: InvenTree/models.py:1300 +#: InvenTree/models.py:1301 msgid "Barcode Data" msgstr "條碼資料" -#: InvenTree/models.py:1301 +#: InvenTree/models.py:1302 msgid "Third party barcode data" msgstr "第三方條碼資料" -#: InvenTree/models.py:1307 +#: InvenTree/models.py:1308 msgid "Barcode Hash" msgstr "條碼雜湊值" -#: InvenTree/models.py:1308 +#: InvenTree/models.py:1309 msgid "Unique hash of barcode data" msgstr "條碼資料的唯一雜湊值" -#: InvenTree/models.py:1389 +#: InvenTree/models.py:1398 msgid "Existing barcode found" msgstr "發現現有條碼" -#: InvenTree/models.py:1489 +#: InvenTree/models.py:1498 msgid "Server Error" msgstr "伺服器錯誤" -#: InvenTree/models.py:1490 +#: InvenTree/models.py:1499 msgid "An error has been logged by the server." msgstr "伺服器紀錄了一個錯誤。" -#: InvenTree/models.py:1532 common/models.py:1781 +#: InvenTree/models.py:1541 common/models.py:1781 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -345,7 +349,7 @@ msgstr "必須是有效的數字" msgid "Currency" msgstr "貨幣" -#: InvenTree/serializers.py:408 part/serializers.py:1407 +#: InvenTree/serializers.py:408 part/serializers.py:1418 msgid "Select currency from available options" msgstr "從可用選項中選擇貨幣" @@ -521,11 +525,11 @@ msgstr "中文 (簡體)" msgid "Chinese (Traditional)" msgstr "中文 (繁體)" -#: InvenTree/tasks.py:668 +#: InvenTree/tasks.py:677 msgid "Update Available" msgstr "有可用更新" -#: InvenTree/tasks.py:669 +#: InvenTree/tasks.py:678 msgid "An update for InvenTree is available" msgstr "有新的 InvenTree 更新可用" @@ -537,7 +541,7 @@ msgstr "無效的物理單位" msgid "Not a valid currency code" msgstr "無效的貨幣代碼" -#: build/api.py:57 order/api.py:120 order/api.py:289 order/api.py:1444 +#: build/api.py:57 order/api.py:118 order/api.py:287 order/api.py:1442 #: order/serializers.py:128 msgid "Order Status" msgstr "訂單狀態" @@ -546,23 +550,23 @@ msgstr "訂單狀態" msgid "Parent Build" msgstr "上層生產工單" -#: build/api.py:87 build/api.py:1026 order/api.py:566 order/api.py:791 -#: order/api.py:1237 order/api.py:1548 order/api.py:1839 order/api.py:2029 -#: stock/api.py:579 +#: build/api.py:87 build/api.py:1024 order/api.py:564 order/api.py:789 +#: order/api.py:1235 order/api.py:1546 order/api.py:1837 order/api.py:2027 +#: stock/api.py:593 msgid "Include Variants" msgstr "包含變體" -#: build/api.py:103 build/api.py:479 build/api.py:1040 build/models.py:283 +#: build/api.py:103 build/api.py:477 build/api.py:1038 build/models.py:283 #: build/serializers.py:1169 build/serializers.py:1345 #: build/serializers.py:1438 company/models.py:1034 company/serializers.py:426 -#: order/api.py:317 order/api.py:321 order/api.py:948 order/api.py:1250 -#: order/api.py:1253 order/api.py:2042 order/api.py:2045 order/api.py:2199 -#: order/models.py:2214 order/models.py:2382 order/models.py:2383 -#: order/models.py:3763 order/models.py:3764 part/api.py:1153 part/api.py:1156 -#: part/api.py:1373 part/models.py:527 part/models.py:3386 part/models.py:3529 +#: order/api.py:315 order/api.py:319 order/api.py:946 order/api.py:1248 +#: order/api.py:1251 order/api.py:2040 order/api.py:2043 order/api.py:2197 +#: order/models.py:2216 order/models.py:2384 order/models.py:2385 +#: order/models.py:3766 order/models.py:3767 part/api.py:1167 part/api.py:1170 +#: part/api.py:1387 part/models.py:527 part/models.py:3386 part/models.py:3529 #: part/models.py:3587 part/models.py:3608 part/models.py:3630 #: part/models.py:3771 part/models.py:4093 part/models.py:4520 -#: part/serializers.py:1356 part/serializers.py:2020 +#: part/serializers.py:1367 part/serializers.py:2031 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -572,7 +576,7 @@ msgstr "包含變體" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:592 stock/api.py:1560 stock/serializers.py:121 +#: stock/api.py:606 stock/api.py:1571 stock/serializers.py:121 #: stock/serializers.py:173 stock/serializers.py:424 stock/serializers.py:610 #: stock/serializers.py:958 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -583,9 +587,9 @@ msgstr "包含變體" msgid "Part" msgstr "零件" -#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:987 -#: part/api.py:1384 part/models.py:412 part/models.py:1147 part/models.py:3658 -#: part/serializers.py:1366 part/serializers.py:1791 stock/api.py:879 +#: build/api.py:123 build/api.py:126 build/serializers.py:1452 part/api.py:1001 +#: part/api.py:1398 part/models.py:412 part/models.py:1147 part/models.py:3658 +#: part/serializers.py:1377 part/serializers.py:1802 stock/api.py:893 msgid "Category" msgstr "類別" @@ -593,7 +597,7 @@ msgstr "類別" msgid "Ancestor Build" msgstr "可測試部分" -#: build/api.py:155 order/api.py:138 +#: build/api.py:155 order/api.py:136 msgid "Assigned to me" msgstr "分配給我" @@ -601,11 +605,11 @@ msgstr "分配給我" msgid "Assigned To" msgstr "負責人" -#: build/api.py:205 stock/api.py:922 +#: build/api.py:205 stock/api.py:936 msgid "Created before" msgstr "建立於之前" -#: build/api.py:209 stock/api.py:926 +#: build/api.py:209 stock/api.py:940 msgid "Created after" msgstr "建立於之後" @@ -641,99 +645,99 @@ msgstr "完成於之前" msgid "Completed after" msgstr "完成於之後" -#: build/api.py:252 order/api.py:243 +#: build/api.py:252 order/api.py:241 msgid "Min Date" msgstr "最小日期" -#: build/api.py:275 order/api.py:262 +#: build/api.py:275 order/api.py:260 msgid "Max Date" msgstr "最大日期" -#: build/api.py:300 build/api.py:303 part/api.py:198 stock/api.py:988 +#: build/api.py:300 build/api.py:303 part/api.py:199 stock/api.py:1002 msgid "Exclude Tree" msgstr "排除樹" -#: build/api.py:418 +#: build/api.py:416 msgid "Build must be cancelled before it can be deleted" msgstr "工單必須被取消才能被刪除" -#: build/api.py:462 build/serializers.py:1379 part/models.py:4135 +#: build/api.py:460 build/serializers.py:1379 part/models.py:4135 msgid "Consumable" msgstr "耗材" -#: build/api.py:465 build/serializers.py:1382 part/models.py:4129 +#: build/api.py:463 build/serializers.py:1382 part/models.py:4129 msgid "Optional" msgstr "非必須項目" -#: build/api.py:468 build/serializers.py:1424 common/setting/system.py:476 -#: part/models.py:1261 part/serializers.py:1736 part/serializers.py:1762 -#: stock/api.py:645 +#: build/api.py:466 build/serializers.py:1424 common/setting/system.py:476 +#: part/models.py:1261 part/serializers.py:1747 part/serializers.py:1773 +#: stock/api.py:659 msgid "Assembly" msgstr "裝配" -#: build/api.py:471 +#: build/api.py:469 msgid "Tracked" msgstr "追蹤中" -#: build/api.py:474 build/serializers.py:1385 part/models.py:1279 +#: build/api.py:472 build/serializers.py:1385 part/models.py:1279 msgid "Testable" msgstr "可測試" -#: build/api.py:484 order/api.py:1012 order/api.py:1434 order/api.py:2263 +#: build/api.py:482 order/api.py:1010 order/api.py:1432 order/api.py:2261 msgid "Order Outstanding" msgstr "訂單未完成" -#: build/api.py:494 build/serializers.py:1481 order/api.py:971 -#: order/api.py:2222 +#: build/api.py:492 build/serializers.py:1481 order/api.py:969 +#: order/api.py:2220 msgid "Allocated" msgstr "已分配" -#: build/api.py:503 build/models.py:1741 build/serializers.py:1398 +#: build/api.py:501 build/models.py:1741 build/serializers.py:1398 msgid "Consumed" msgstr "已消耗" -#: build/api.py:512 company/models.py:879 company/serializers.py:403 +#: build/api.py:510 company/models.py:879 company/serializers.py:403 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "可用數量" -#: build/api.py:551 build/serializers.py:1483 company/serializers.py:400 -#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:889 -#: part/serializers.py:1217 part/serializers.py:1800 +#: build/api.py:549 build/serializers.py:1483 company/serializers.py:400 +#: order/serializers.py:1388 order/serializers.py:2741 part/serializers.py:900 +#: part/serializers.py:1228 part/serializers.py:1811 msgid "On Order" msgstr "已訂購" -#: build/api.py:704 +#: build/api.py:702 msgid "Build not found" msgstr "找不到生產記錄" -#: build/api.py:1063 build/models.py:120 order/models.py:2247 +#: build/api.py:1061 build/models.py:120 order/models.py:2249 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:94 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "生產工單" -#: build/api.py:1077 build/api.py:1081 build/serializers.py:374 +#: build/api.py:1075 build/api.py:1079 build/serializers.py:374 #: build/serializers.py:487 build/serializers.py:536 build/serializers.py:1219 -#: build/serializers.py:1225 order/api.py:1297 order/api.py:1302 -#: order/api.py:2081 order/api.py:2086 order/serializers.py:886 -#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1376 -#: stock/api.py:1014 stock/serializers.py:112 stock/serializers.py:622 -#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1522 -#: stock/serializers.py:1757 stock/serializers.py:1861 -#: stock/serializers.py:1910 templates/email/stale_stock_notification.html:18 -#: users/models.py:547 +#: build/serializers.py:1225 order/api.py:1295 order/api.py:1300 +#: order/api.py:2079 order/api.py:2084 order/serializers.py:886 +#: order/serializers.py:1026 order/serializers.py:2314 part/serializers.py:1387 +#: stock/api.py:1028 stock/serializers.py:112 stock/serializers.py:622 +#: stock/serializers.py:742 stock/serializers.py:920 stock/serializers.py:1533 +#: stock/serializers.py:1768 stock/serializers.py:1872 +#: stock/serializers.py:1921 templates/email/stale_stock_notification.html:18 +#: users/models.py:545 msgid "Location" msgstr "地點" -#: build/api.py:1089 part/serializers.py:1401 +#: build/api.py:1087 part/serializers.py:1412 msgid "Output" msgstr "產出" -#: build/api.py:1091 +#: build/api.py:1089 msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items." msgstr "依產出庫存項目 ID 篩選。使用 'null' 尋找未安裝的生產項目。" @@ -773,9 +777,9 @@ msgstr "目標日期必須晚於開始日期" msgid "Build Order Reference" msgstr "生產工單代號" -#: build/models.py:259 build/serializers.py:1376 order/models.py:696 -#: order/models.py:1427 order/models.py:2030 order/models.py:2988 -#: order/models.py:3437 part/models.py:4175 +#: build/models.py:259 build/serializers.py:1376 order/models.py:697 +#: order/models.py:1429 order/models.py:2032 order/models.py:2991 +#: order/models.py:3440 part/models.py:4175 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -804,7 +808,7 @@ msgstr "銷售訂單代號" msgid "Sales Order to which this build is allocated" msgstr "分配此生產的銷售訂單" -#: build/models.py:302 build/serializers.py:1030 order/models.py:3457 +#: build/models.py:302 build/serializers.py:1030 order/models.py:3460 #: order/serializers.py:2061 msgid "Source Location" msgstr "來源倉儲地點" @@ -821,7 +825,7 @@ msgstr "外部生產" msgid "This build order is fulfilled externally" msgstr "此生產工單由外部履行" -#: build/models.py:320 order/models.py:3467 +#: build/models.py:320 order/models.py:3470 msgid "Destination Location" msgstr "目標倉儲地點" @@ -854,7 +858,7 @@ msgid "Build status code" msgstr "生產狀態代碼" #: build/models.py:356 build/serializers.py:361 order/serializers.py:902 -#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1695 +#: stock/models.py:1152 stock/serializers.py:86 stock/serializers.py:1706 msgid "Batch Code" msgstr "批號" @@ -883,8 +887,8 @@ msgstr "目標完成日期" msgid "Target date for build completion. Build will be overdue after this date." msgstr "生產的預計完成日期。若超過此日期則工單會逾期。" -#: build/models.py:384 order/models.py:744 order/models.py:3027 -#: order/models.py:3486 +#: build/models.py:384 order/models.py:745 order/models.py:3030 +#: order/models.py:3489 msgid "Completion Date" msgstr "完成日期" @@ -900,7 +904,7 @@ msgstr "發布者" msgid "User who issued this build order" msgstr "發布此生產工單的使用者" -#: build/models.py:419 common/models.py:189 order/api.py:188 +#: build/models.py:419 common/models.py:189 order/api.py:186 #: order/models.py:556 part/models.py:1359 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -928,7 +932,7 @@ msgid "Priority of this build order" msgstr "此生產工單的優先程度" #: build/models.py:443 common/models.py:159 common/models.py:173 -#: order/api.py:174 order/models.py:496 order/models.py:2062 +#: order/api.py:172 order/models.py:496 order/models.py:2064 msgid "Project Code" msgstr "專案代碼" @@ -962,9 +966,9 @@ msgstr "產出與生產訂單不匹配" #: build/models.py:1050 build/models.py:1156 build/serializers.py:287 #: build/serializers.py:337 build/serializers.py:898 build/serializers.py:1695 -#: order/models.py:794 order/serializers.py:672 order/serializers.py:897 +#: order/models.py:795 order/serializers.py:672 order/serializers.py:897 #: part/models.py:3983 stock/models.py:992 stock/models.py:1489 -#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1684 +#: stock/models.py:1990 stock/serializers.py:720 stock/serializers.py:1695 msgid "Quantity must be greater than zero" msgstr "數量必須大於零" @@ -999,7 +1003,7 @@ msgstr "生產對象" #: build/models.py:1732 build/models.py:2057 build/serializers.py:273 #: build/serializers.py:322 build/serializers.py:1397 common/models.py:1373 -#: order/models.py:2002 order/models.py:2871 order/models.py:3911 +#: order/models.py:2004 order/models.py:2873 order/models.py:3914 #: order/serializers.py:1841 order/serializers.py:2407 #: order/serializers.py:2978 part/models.py:3543 part/models.py:4123 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1049,7 +1053,7 @@ msgstr "有序號的品項數量必須為1" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配的數量({q})不能超過可用的庫存數量({a})" -#: build/models.py:1958 order/models.py:2820 order/models.py:3875 +#: build/models.py:1958 order/models.py:2822 order/models.py:3878 msgid "Stock item is over-allocated" msgstr "庫存品項超額分配" @@ -1057,8 +1061,8 @@ msgstr "庫存品項超額分配" #: order/serializers.py:1669 order/serializers.py:1690 #: order/serializers.py:2764 order/serializers.py:2785 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1448 stock/models.py:467 stock/serializers.py:103 -#: stock/serializers.py:832 stock/serializers.py:1374 stock/serializers.py:1490 +#: stock/api.py:1462 stock/models.py:467 stock/serializers.py:103 +#: stock/serializers.py:832 stock/serializers.py:1385 stock/serializers.py:1501 msgid "Stock Item" msgstr "庫存品項" @@ -1082,7 +1086,7 @@ msgstr "目的庫存品項" msgid "Build Level" msgstr "構建等級" -#: build/serializers.py:136 part/serializers.py:1303 +#: build/serializers.py:136 part/serializers.py:1314 msgid "Part Name" msgstr "零件名稱" @@ -1139,7 +1143,7 @@ msgstr "自動分配序號" msgid "Automatically allocate required items with matching serial numbers" msgstr "自動為需要項目分配對應的序號" -#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1216 +#: build/serializers.py:425 order/serializers.py:1004 stock/api.py:1230 #: stock/models.py:2013 msgid "The following serial numbers already exist or are invalid" msgstr "序號已存在或無效" @@ -1272,7 +1276,7 @@ msgstr "生產行項目" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必須與生產訂單零件相同" -#: build/serializers.py:887 stock/serializers.py:1387 +#: build/serializers.py:887 stock/serializers.py:1398 msgid "Item must be in stock" msgstr "商品必須有庫存" @@ -1385,8 +1389,8 @@ msgstr "安裝至" msgid "Build" msgstr "生產" -#: build/serializers.py:1257 company/models.py:637 order/api.py:330 -#: order/api.py:335 order/api.py:562 order/serializers.py:664 +#: build/serializers.py:1257 company/models.py:637 order/api.py:328 +#: order/api.py:333 order/api.py:560 order/serializers.py:664 #: stock/models.py:1088 stock/serializers.py:589 msgid "Supplier Part" msgstr "供應商零件" @@ -1416,24 +1420,24 @@ msgid "Allow Variants" msgstr "允許變體" #: build/serializers.py:1400 build/serializers.py:1406 part/models.py:3862 -#: part/models.py:4512 stock/api.py:892 +#: part/models.py:4512 stock/api.py:906 msgid "BOM Item" msgstr "物料清單項" #: build/serializers.py:1484 order/serializers.py:1389 -#: order/serializers.py:2742 part/serializers.py:1221 part/serializers.py:1804 +#: order/serializers.py:2742 part/serializers.py:1232 part/serializers.py:1815 msgid "In Production" msgstr "生產中" -#: build/serializers.py:1486 part/serializers.py:880 part/serializers.py:1225 +#: build/serializers.py:1486 part/serializers.py:891 part/serializers.py:1236 msgid "Scheduled to Build" msgstr "排程生產中" -#: build/serializers.py:1489 part/serializers.py:913 +#: build/serializers.py:1489 part/serializers.py:924 msgid "External Stock" msgstr "外部庫存" -#: build/serializers.py:1490 part/serializers.py:1211 part/serializers.py:1867 +#: build/serializers.py:1490 part/serializers.py:1222 part/serializers.py:1878 msgid "Available Stock" msgstr "可用庫存" @@ -1527,31 +1531,31 @@ msgstr "逾期的生產訂單" msgid "Build order {bo} is now overdue" msgstr "生產訂單 {bo} 現已逾期" -#: common/api.py:766 +#: common/api.py:764 msgid "Has Thumbnail" msgstr "" -#: common/api.py:775 +#: common/api.py:773 msgid "Is Link" msgstr "是否鏈接" -#: common/api.py:783 +#: common/api.py:781 msgid "Is File" msgstr "是否為文件" -#: common/api.py:832 +#: common/api.py:828 msgid "User does not have permission to delete these attachments" msgstr "用户沒有權限刪除此附件" -#: common/api.py:845 +#: common/api.py:841 msgid "User does not have permission to edit this attachment" msgstr "" -#: common/api.py:871 +#: common/api.py:867 msgid "User does not have permission to delete this attachment" msgstr "用户沒有權限刪除此附件" -#: common/api.py:1248 common/serializers.py:1009 common/serializers.py:1057 +#: common/api.py:1244 common/serializers.py:1009 common/serializers.py:1057 msgid "Selection list is locked" msgstr "選擇列表已鎖定" @@ -1571,8 +1575,8 @@ msgstr "未提供有效的貨幣代碼" msgid "No plugin" msgstr "暫無插件" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:376 -#: stock/api.py:1046 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:377 +#: stock/api.py:1060 msgid "Tags" msgstr "" @@ -1645,8 +1649,8 @@ msgstr "鍵字符串必須是唯一的" #: common/models.py:2140 common/models.py:2141 common/models.py:3038 #: importer/models.py:101 part/models.py:3637 part/models.py:3665 #: plugin/models.py:392 plugin/models.py:393 -#: report/templates/report/inventree_test_report.html:105 users/models.py:124 -#: users/models.py:499 +#: report/templates/report/inventree_test_report.html:105 users/models.py:122 +#: users/models.py:497 msgid "User" msgstr "使用者" @@ -1654,8 +1658,8 @@ msgstr "使用者" msgid "Price break quantity" msgstr "批發價數量" -#: common/models.py:1381 company/serializers.py:304 order/models.py:2099 -#: order/models.py:3324 +#: common/models.py:1381 company/serializers.py:304 order/models.py:2101 +#: order/models.py:3327 msgid "Price" msgstr "價格" @@ -1677,8 +1681,8 @@ msgstr "此網絡鈎子的名稱" #: common/models.py:1448 common/models.py:2448 common/models.py:2583 #: company/models.py:194 company/models.py:783 machine/models.py:40 -#: part/models.py:1296 plugin/models.py:69 stock/api.py:648 users/models.py:193 -#: users/models.py:552 users/serializers.py:339 users/serializers.py:431 +#: part/models.py:1296 plugin/models.py:69 stock/api.py:662 users/models.py:191 +#: users/models.py:550 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "激活" @@ -1686,7 +1690,7 @@ msgstr "激活" msgid "Is this webhook active" msgstr "網絡鈎子是否已啓用" -#: common/models.py:1464 users/models.py:172 +#: common/models.py:1464 users/models.py:170 msgid "Token" msgstr "令牌" @@ -1756,7 +1760,7 @@ msgstr "標題" #: common/models.py:1755 common/models.py:2123 company/models.py:188 #: company/models.py:479 company/models.py:550 company/models.py:806 -#: order/models.py:502 order/models.py:2043 order/models.py:2619 +#: order/models.py:502 order/models.py:2045 order/models.py:2621 #: part/models.py:1180 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" @@ -2172,7 +2176,7 @@ msgstr "此參數的有效選擇 (逗號分隔)" msgid "Selection list for this parameter" msgstr "此參數的選擇清單" -#: common/models.py:2770 part/models.py:3797 report/models.py:296 +#: common/models.py:2770 part/models.py:3797 report/models.py:297 msgid "Enabled" msgstr "已啓用" @@ -2204,8 +2208,8 @@ msgstr "模型 ID" msgid "ID of the target model for this parameter" msgstr "此參數的目標模型 ID" -#: common/models.py:2979 common/setting/system.py:470 report/models.py:382 -#: report/models.py:703 report/serializers.py:117 report/serializers.py:158 +#: common/models.py:2979 common/setting/system.py:470 report/models.py:383 +#: report/models.py:717 report/serializers.py:117 report/serializers.py:158 #: stock/serializers.py:246 msgid "Template" msgstr "模板" @@ -2262,7 +2266,7 @@ msgstr "掃描條碼的日期和時間" msgid "URL endpoint which processed the barcode" msgstr "處理條碼的 URL 終點" -#: common/models.py:3058 order/models.py:2089 plugin/serializers.py:93 +#: common/models.py:3058 order/models.py:2091 plugin/serializers.py:93 msgid "Context" msgstr "上下文" @@ -2384,7 +2388,7 @@ msgid "Email Threads" msgstr "電子郵件討論串" #: common/models.py:3366 generic/states/serializers.py:16 -#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113 +#: machine/serializers.py:24 plugin/models.py:46 users/models.py:111 msgid "Key" msgstr "鍵" @@ -2430,7 +2434,7 @@ msgstr "{verbose_name} 已取消" msgid "A order that is assigned to you was canceled" msgstr "分配給您的訂單已取消" -#: common/notifications.py:73 common/notifications.py:80 order/api.py:613 +#: common/notifications.py:73 common/notifications.py:80 order/api.py:611 msgid "Items Received" msgstr "收到的物品" @@ -2524,7 +2528,7 @@ msgstr "檔案名稱" #: common/serializers.py:809 common/serializers.py:876 #: common/serializers.py:952 importer/models.py:90 report/api.py:42 -#: report/models.py:302 report/serializers.py:71 +#: report/models.py:303 report/serializers.py:71 msgid "Model Type" msgstr "模型類型" @@ -2914,8 +2918,8 @@ msgstr "零件默認為模板" msgid "Parts can be assembled from other components by default" msgstr "默認情況下,元件可由其他零件組裝而成" -#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1771 -#: part/serializers.py:1779 +#: common/setting/system.py:482 part/models.py:1267 part/serializers.py:1782 +#: part/serializers.py:1790 msgid "Component" msgstr "組件" @@ -2931,7 +2935,7 @@ msgstr "可購買" msgid "Parts are purchaseable by default" msgstr "默認情況下可購買零件" -#: common/setting/system.py:494 part/models.py:1291 stock/api.py:649 +#: common/setting/system.py:494 part/models.py:1291 stock/api.py:663 msgid "Salable" msgstr "可銷售" @@ -3144,7 +3148,7 @@ msgid "Log errors which occur when generating reports" msgstr "記錄生成報告時出現的錯誤" #: common/setting/system.py:693 plugin/builtin/labels/label_sheet.py:30 -#: report/models.py:390 +#: report/models.py:391 msgid "Page Size" msgstr "頁面大小" @@ -4128,49 +4132,49 @@ msgstr "" msgid "Automatically default to showing items/parts instead of sub-levels for locations or categories with no children" msgstr "" -#: common/validators.py:39 +#: common/validators.py:40 msgid "All models" msgstr "所有模型" -#: common/validators.py:64 +#: common/validators.py:65 msgid "No attachment model type provided" msgstr "未提供附件型號" -#: common/validators.py:70 +#: common/validators.py:71 msgid "Invalid attachment model type" msgstr "附件模型類型無效" -#: common/validators.py:86 +#: common/validators.py:87 #, python-brace-format msgid "File size exceeds maximum upload limit of {max_size} MB" msgstr "" -#: common/validators.py:92 +#: common/validators.py:93 msgid "Invalid file name" msgstr "" -#: common/validators.py:126 +#: common/validators.py:127 msgid "Minimum places cannot be greater than maximum places" msgstr "最小位置不能大於最大位置" -#: common/validators.py:138 +#: common/validators.py:139 msgid "Maximum places cannot be less than minimum places" msgstr "最大名額不能小於最小名額" -#: common/validators.py:149 +#: common/validators.py:150 msgid "An empty domain is not allowed." msgstr "不允許空域。" -#: common/validators.py:151 +#: common/validators.py:152 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "無效的域名: {domain}" -#: common/validators.py:167 +#: common/validators.py:168 msgid "Value must be uppercase" msgstr "值必須為大寫" -#: common/validators.py:173 +#: common/validators.py:174 msgid "Value must be a valid variable identifier" msgstr "值必須為有效的變數識別符" @@ -4199,12 +4203,12 @@ msgid "Supplier is Active" msgstr "供應商已激活" #: company/api.py:284 company/models.py:536 company/serializers.py:452 -#: part/serializers.py:514 +#: part/serializers.py:525 msgid "Manufacturer" msgstr "製造商" #: company/api.py:291 company/models.py:124 company/models.py:404 -#: stock/api.py:910 +#: stock/api.py:924 msgid "Company" msgstr "公司" @@ -4245,7 +4249,7 @@ msgid "Contact email address" msgstr "聯繫人電子郵箱地址" #: company/models.py:181 company/models.py:311 order/models.py:565 -#: users/models.py:559 +#: users/models.py:557 msgid "Contact" msgstr "聯繫人" @@ -4297,7 +4301,7 @@ msgstr "稅籍編號" msgid "Company Tax ID" msgstr "公司稅籍編號" -#: company/models.py:350 order/models.py:575 order/models.py:2564 +#: company/models.py:350 order/models.py:575 order/models.py:2566 msgid "Address" msgstr "地址" @@ -4390,7 +4394,7 @@ msgid "Link to address information (external)" msgstr "鏈接地址信息 (外部)" #: company/models.py:508 company/models.py:799 company/serializers.py:480 -#: stock/api.py:567 +#: stock/api.py:581 msgid "Manufacturer Part" msgstr "製造商零件" @@ -4408,7 +4412,7 @@ msgid "Select manufacturer" msgstr "選擇製造商" #: company/models.py:543 company/serializers.py:491 order/serializers.py:783 -#: part/serializers.py:524 +#: part/serializers.py:535 msgid "MPN" msgstr "製造商零件編號" @@ -4437,10 +4441,10 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "鏈接的製造商零件必須引用相同的基礎零件" #: company/models.py:771 company/serializers.py:439 company/serializers.py:474 -#: order/models.py:716 part/serializers.py:498 +#: order/models.py:717 part/serializers.py:509 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:573 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:587 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "供應商" @@ -4448,7 +4452,7 @@ msgstr "供應商" msgid "Select supplier" msgstr "選擇供應商" -#: company/models.py:778 part/serializers.py:509 +#: company/models.py:778 part/serializers.py:520 msgid "Supplier stock keeping unit" msgstr "供應商庫存管理單位" @@ -4485,7 +4489,7 @@ msgid "Minimum charge (e.g. stocking fee)" msgstr "最低費用(例如庫存費)" #: company/models.py:840 order/serializers.py:928 stock/models.py:1108 -#: stock/serializers.py:1710 +#: stock/serializers.py:1721 msgid "Packaging" msgstr "打包" @@ -4533,7 +4537,7 @@ msgstr "此供應商使用的默認貨幣" msgid "Company Name" msgstr "公司名稱" -#: company/serializers.py:396 part/serializers.py:885 stock/serializers.py:449 +#: company/serializers.py:396 part/serializers.py:896 stock/serializers.py:449 msgid "In Stock" msgstr "有庫存" @@ -4722,7 +4726,7 @@ msgstr "原始行數據" msgid "Errors" msgstr "錯誤" -#: importer/models.py:667 part/serializers.py:1179 +#: importer/models.py:667 part/serializers.py:1190 msgid "Valid" msgstr "有效" @@ -4838,7 +4842,7 @@ msgstr "每個標籤要打印的份數" msgid "Connected" msgstr "已連接" -#: machine/machine_types/label_printer.py:232 order/api.py:2425 +#: machine/machine_types/label_printer.py:232 order/api.py:2423 msgid "Unknown" msgstr "未知" @@ -4942,7 +4946,7 @@ msgstr "屬性鍵值" msgid "Value of the property" msgstr "屬性值" -#: machine/serializers.py:30 users/models.py:236 +#: machine/serializers.py:30 users/models.py:234 msgid "Group" msgstr "組" @@ -4966,118 +4970,118 @@ msgstr "最大進度" msgid "Maximum value for progress type, required if type=progress" msgstr "進度類型的最大值,當 type=progress 時為必填" -#: order/api.py:134 +#: order/api.py:132 msgid "Order Reference" msgstr "訂單參考" -#: order/api.py:162 order/api.py:1270 order/api.py:2062 +#: order/api.py:160 order/api.py:1268 order/api.py:2060 msgid "Outstanding" msgstr "未完成" -#: order/api.py:178 +#: order/api.py:176 msgid "Has Project Code" msgstr "有項目編碼" -#: order/api.py:192 order/models.py:533 +#: order/api.py:190 order/models.py:533 msgid "Created By" msgstr "創建人" -#: order/api.py:196 +#: order/api.py:194 msgid "Created Before" msgstr "建立時間早於" -#: order/api.py:200 +#: order/api.py:198 msgid "Created After" msgstr "建立時間晚於" -#: order/api.py:204 +#: order/api.py:202 msgid "Has Start Date" msgstr "具有開始日期" -#: order/api.py:212 +#: order/api.py:210 msgid "Start Date Before" msgstr "開始日期早於" -#: order/api.py:216 +#: order/api.py:214 msgid "Start Date After" msgstr "開始日期晚於" -#: order/api.py:220 +#: order/api.py:218 msgid "Has Target Date" msgstr "具有目標日期" -#: order/api.py:228 +#: order/api.py:226 msgid "Target Date Before" msgstr "目標日期早於" -#: order/api.py:232 +#: order/api.py:230 msgid "Target Date After" msgstr "目標日期晚於" -#: order/api.py:236 +#: order/api.py:234 msgid "Updated Before" msgstr "更新之前" -#: order/api.py:240 +#: order/api.py:238 msgid "Updated After" msgstr "更新之後" -#: order/api.py:293 +#: order/api.py:291 msgid "Has Pricing" msgstr "有定價" -#: order/api.py:346 order/api.py:833 order/api.py:1589 order/api.py:1880 +#: order/api.py:344 order/api.py:831 order/api.py:1587 order/api.py:1878 msgid "Completed Before" msgstr "完成時間早於" -#: order/api.py:350 order/api.py:837 order/api.py:1593 order/api.py:1884 +#: order/api.py:348 order/api.py:835 order/api.py:1591 order/api.py:1882 msgid "Completed After" msgstr "完成時間晚於" -#: order/api.py:356 order/api.py:360 +#: order/api.py:354 order/api.py:358 msgid "External Build Order" msgstr "外部生產工單" -#: order/api.py:545 order/api.py:933 order/api.py:1233 order/api.py:2025 -#: order/api.py:2184 order/models.py:2195 order/models.py:2321 -#: order/models.py:2373 order/models.py:2555 order/models.py:2751 -#: order/models.py:3280 order/models.py:3346 order/models.py:3754 +#: order/api.py:543 order/api.py:931 order/api.py:1231 order/api.py:2023 +#: order/api.py:2182 order/models.py:2197 order/models.py:2323 +#: order/models.py:2375 order/models.py:2557 order/models.py:2753 +#: order/models.py:3283 order/models.py:3349 order/models.py:3757 msgid "Order" msgstr "訂單" -#: order/api.py:549 order/api.py:1001 order/api.py:2252 +#: order/api.py:547 order/api.py:999 order/api.py:2250 msgid "Order Complete" msgstr "訂單完成" -#: order/api.py:581 order/api.py:585 order/serializers.py:794 +#: order/api.py:579 order/api.py:583 order/serializers.py:794 msgid "Internal Part" msgstr "內部零件" -#: order/api.py:603 +#: order/api.py:601 msgid "Order Pending" msgstr "訂單待定" -#: order/api.py:986 order/api.py:2237 +#: order/api.py:984 order/api.py:2235 msgid "Completed" msgstr "已完成" -#: order/api.py:1286 +#: order/api.py:1284 msgid "Has Shipment" msgstr "已出貨" -#: order/api.py:1504 +#: order/api.py:1502 msgid "Shipment not found" msgstr "找不到發貨紀錄" -#: order/api.py:2417 order/models.py:632 order/models.py:2196 -#: order/models.py:2322 +#: order/api.py:2415 order/models.py:632 order/models.py:2198 +#: order/models.py:2324 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:130 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "採購訂單" -#: order/api.py:2419 order/models.py:1365 order/models.py:2374 -#: order/models.py:2556 order/models.py:2752 +#: order/api.py:2417 order/models.py:1366 order/models.py:2376 +#: order/models.py:2558 order/models.py:2754 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 #: report/templates/report/inventree_sales_order_shipment_report.html:15 @@ -5085,14 +5089,14 @@ msgstr "採購訂單" msgid "Sales Order" msgstr "銷售訂單" -#: order/api.py:2421 order/models.py:2923 order/models.py:3281 -#: order/models.py:3347 +#: order/api.py:2419 order/models.py:2925 order/models.py:3284 +#: order/models.py:3350 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "退貨訂單" -#: order/api.py:2423 order/models.py:3369 order/models.py:3755 +#: order/api.py:2421 order/models.py:3372 order/models.py:3758 #: report/templates/report/inventree_transfer_order_report.html:12 msgid "Transfer Order" msgstr "" @@ -5135,11 +5139,11 @@ msgstr "地址不符合選定的公司" msgid "Order description (optional)" msgstr "訂單描述 (可選)" -#: order/models.py:497 order/models.py:2063 +#: order/models.py:497 order/models.py:2065 msgid "Select project code for this order" msgstr "為此訂單選擇項目編碼" -#: order/models.py:503 order/models.py:2044 order/models.py:2620 +#: order/models.py:503 order/models.py:2046 order/models.py:2622 msgid "Link to external page" msgstr "鏈接到外部頁面" @@ -5151,7 +5155,7 @@ msgstr "開始日期" msgid "Scheduled start date for this order" msgstr "此訂單的預定開始日期" -#: order/models.py:517 order/models.py:2051 order/serializers.py:348 +#: order/models.py:517 order/models.py:2053 order/serializers.py:348 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "預計日期" @@ -5184,487 +5188,487 @@ msgstr "此訂單的聯繫人" msgid "Company address for this order" msgstr "此訂單的公司地址" -#: order/models.py:697 order/models.py:1428 +#: order/models.py:698 order/models.py:1430 msgid "Order reference" msgstr "訂單參考" -#: order/models.py:706 order/models.py:1452 order/models.py:3013 -#: order/models.py:3446 stock/serializers.py:1020 users/models.py:540 +#: order/models.py:707 order/models.py:1454 order/models.py:3016 +#: order/models.py:3449 stock/serializers.py:1020 users/models.py:538 msgid "Status" msgstr "狀態" -#: order/models.py:707 +#: order/models.py:708 msgid "Purchase order status" msgstr "採購訂單狀態" -#: order/models.py:717 +#: order/models.py:718 msgid "Company from which the items are being ordered" msgstr "訂購物品的公司" -#: order/models.py:728 +#: order/models.py:729 msgid "Supplier Reference" msgstr "供應商參考" -#: order/models.py:729 +#: order/models.py:730 msgid "Supplier order reference code" msgstr "供應商訂單參考代碼" -#: order/models.py:738 +#: order/models.py:739 msgid "received by" msgstr "接收人" -#: order/models.py:745 order/models.py:3028 order/models.py:3487 +#: order/models.py:746 order/models.py:3031 order/models.py:3490 msgid "Date order was completed" msgstr "訂單完成日期" -#: order/models.py:754 order/models.py:2254 +#: order/models.py:755 order/models.py:2256 msgid "Destination" msgstr "目的地" -#: order/models.py:755 order/models.py:2258 +#: order/models.py:756 order/models.py:2260 msgid "Destination for received items" msgstr "收到項目的存放目的地" -#: order/models.py:801 +#: order/models.py:802 msgid "Part supplier must match PO supplier" msgstr "零件供應商必須與採購訂單供應商匹配" -#: order/models.py:1071 +#: order/models.py:1072 msgid "Line item does not match purchase order" msgstr "行項目與採購訂單不匹配" -#: order/models.py:1074 +#: order/models.py:1075 msgid "Line item is missing a linked part" msgstr "行項目缺少關聯零件" -#: order/models.py:1088 +#: order/models.py:1089 msgid "Quantity must be a positive number" msgstr "數量必須是正數" -#: order/models.py:1122 +#: order/models.py:1123 msgid "Serial numbers cannot be assigned to virtual parts" msgstr "序號無法分配給虛擬零件" -#: order/models.py:1346 +#: order/models.py:1347 msgid "Allow any stock (serialized or unserialized)" msgstr "" -#: order/models.py:1347 +#: order/models.py:1348 msgid "Serialized stock only" msgstr "" -#: order/models.py:1348 +#: order/models.py:1349 msgid "Unserialized stock only" msgstr "" -#: order/models.py:1439 order/models.py:3000 stock/models.py:1130 -#: stock/models.py:1131 stock/serializers.py:1426 +#: order/models.py:1441 order/models.py:3003 stock/models.py:1130 +#: stock/models.py:1131 stock/serializers.py:1437 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "客户" -#: order/models.py:1440 +#: order/models.py:1442 msgid "Company to which the items are being sold" msgstr "出售物品的公司" -#: order/models.py:1453 +#: order/models.py:1455 msgid "Sales order status" msgstr "銷售訂單狀態" -#: order/models.py:1459 order/models.py:3020 +#: order/models.py:1461 order/models.py:3023 msgid "Customer Reference " msgstr "客户參考 " -#: order/models.py:1460 order/models.py:3021 +#: order/models.py:1462 order/models.py:3024 msgid "Customer order reference code" msgstr "客户訂單參考代碼" -#: order/models.py:1464 order/models.py:2572 +#: order/models.py:1466 order/models.py:2574 msgid "Shipment Date" msgstr "發貨日期" -#: order/models.py:1473 +#: order/models.py:1475 msgid "shipped by" msgstr "發貨人" -#: order/models.py:1648 order/models.py:3530 +#: order/models.py:1650 order/models.py:3533 msgid "Order is already complete" msgstr "訂單已完成" -#: order/models.py:1651 order/models.py:3533 +#: order/models.py:1653 order/models.py:3536 msgid "Order is already cancelled" msgstr "訂單已取消" -#: order/models.py:1655 +#: order/models.py:1657 msgid "Only an open order can be marked as complete" msgstr "只有未結訂單才能標記為已完成" -#: order/models.py:1659 +#: order/models.py:1661 msgid "Order cannot be completed as there are incomplete shipments" msgstr "由於發貨不完整,訂單無法完成" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Order cannot be completed as there are incomplete allocations" msgstr "訂單無法完成,因為仍有未完成的分配" -#: order/models.py:1673 +#: order/models.py:1675 msgid "Order cannot be completed as there are incomplete line items" msgstr "訂單無法完成,因為行項目不完整" -#: order/models.py:1970 order/models.py:1995 +#: order/models.py:1972 order/models.py:1997 msgid "The order is locked and cannot be modified" msgstr "此訂單已鎖定,無法修改" -#: order/models.py:2003 +#: order/models.py:2005 msgid "Item quantity" msgstr "項目數量" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Line Number" msgstr "行號" -#: order/models.py:2022 +#: order/models.py:2024 msgid "Line number for this item (optional)" msgstr "此項目的行號 (選填)" -#: order/models.py:2031 +#: order/models.py:2033 msgid "Line item reference" msgstr "行項目參考" -#: order/models.py:2038 +#: order/models.py:2040 msgid "Line item notes" msgstr "行項目註釋" -#: order/models.py:2053 +#: order/models.py:2055 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "此行項目的目標日期 (留空以使用訂單中的目標日期)" -#: order/models.py:2083 +#: order/models.py:2085 msgid "Line item description (optional)" msgstr "行項目描述 (可選)" -#: order/models.py:2090 +#: order/models.py:2092 msgid "Additional context for this line" msgstr "此行的附加上下文" -#: order/models.py:2100 +#: order/models.py:2102 msgid "Unit price" msgstr "單位價格" -#: order/models.py:2119 +#: order/models.py:2121 msgid "Purchase Order Line Item" msgstr "採購訂單行項目" -#: order/models.py:2148 +#: order/models.py:2150 msgid "Supplier part must match supplier" msgstr "供應商零件必須與供應商匹配" -#: order/models.py:2156 +#: order/models.py:2158 msgid "Build order must be marked as external" msgstr "生產工單必須標記為外部" -#: order/models.py:2163 +#: order/models.py:2165 msgid "Build orders can only be linked to assembly parts" msgstr "生產工單只能連結到組裝零件" -#: order/models.py:2169 +#: order/models.py:2171 msgid "Build order part must match line item part" msgstr "生產工單的零件必須與行項目的零件一致" -#: order/models.py:2179 +#: order/models.py:2181 msgid "An external build order is required for assembly parts" msgstr "" -#: order/models.py:2215 +#: order/models.py:2217 msgid "Supplier part" msgstr "供應商零件" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received" msgstr "已接收" -#: order/models.py:2223 +#: order/models.py:2225 msgid "Number of items received" msgstr "收到的物品數量" -#: order/models.py:2231 stock/models.py:1260 stock/serializers.py:669 +#: order/models.py:2233 stock/models.py:1260 stock/serializers.py:669 msgid "Purchase Price" msgstr "採購價格" -#: order/models.py:2232 +#: order/models.py:2234 msgid "Unit purchase price" msgstr "每單位的採購價格" -#: order/models.py:2248 +#: order/models.py:2250 msgid "External Build Order to be fulfilled by this line item" msgstr "由此行項目履行的外部生產工單" -#: order/models.py:2310 +#: order/models.py:2312 msgid "Purchase Order Extra Line" msgstr "採購訂單附加行" -#: order/models.py:2339 +#: order/models.py:2341 msgid "Sales Order Line Item" msgstr "銷售訂單行項目" -#: order/models.py:2366 +#: order/models.py:2368 msgid "Only salable parts can be assigned to a sales order" msgstr "只有可銷售的零件才能分配給銷售訂單" -#: order/models.py:2392 +#: order/models.py:2394 msgid "Sale Price" msgstr "售出價格" -#: order/models.py:2393 +#: order/models.py:2395 msgid "Unit sale price" msgstr "單位售出價格" -#: order/models.py:2402 order/status_codes.py:50 +#: order/models.py:2404 order/status_codes.py:50 msgid "Shipped" msgstr "已配送" -#: order/models.py:2403 +#: order/models.py:2405 msgid "Shipped quantity" msgstr "發貨數量" -#: order/models.py:2516 +#: order/models.py:2518 msgid "Sales Order Shipment" msgstr "銷售訂單發貨" -#: order/models.py:2529 +#: order/models.py:2531 msgid "Shipment address must match the customer" msgstr "配送地址必須跟客戶相符" -#: order/models.py:2565 +#: order/models.py:2567 msgid "Shipping address for this shipment" msgstr "配送的採購地址" -#: order/models.py:2573 +#: order/models.py:2575 msgid "Date of shipment" msgstr "發貨日期" -#: order/models.py:2579 +#: order/models.py:2581 msgid "Delivery Date" msgstr "送達日期" -#: order/models.py:2580 +#: order/models.py:2582 msgid "Date of delivery of shipment" msgstr "裝運交貨日期" -#: order/models.py:2588 +#: order/models.py:2590 msgid "Checked By" msgstr "審核人" -#: order/models.py:2589 +#: order/models.py:2591 msgid "User who checked this shipment" msgstr "檢查此裝運的用户" -#: order/models.py:2596 order/models.py:2848 order/serializers.py:1856 +#: order/models.py:2598 order/models.py:2850 order/serializers.py:1856 #: order/serializers.py:1990 order/serializers.py:2081 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "配送" -#: order/models.py:2597 +#: order/models.py:2599 msgid "Shipment number" msgstr "配送單號" -#: order/models.py:2605 +#: order/models.py:2607 msgid "Tracking Number" msgstr "跟蹤單號" -#: order/models.py:2606 +#: order/models.py:2608 msgid "Shipment tracking information" msgstr "配送跟蹤信息" -#: order/models.py:2613 +#: order/models.py:2615 msgid "Invoice Number" msgstr "發票編號" -#: order/models.py:2614 +#: order/models.py:2616 msgid "Reference number for associated invoice" msgstr "相關發票的參考號" -#: order/models.py:2660 +#: order/models.py:2662 msgid "Shipment has already been sent" msgstr "貨物已發出" -#: order/models.py:2663 +#: order/models.py:2665 msgid "Shipment has no allocated stock items" msgstr "發貨沒有分配庫存項目" -#: order/models.py:2670 +#: order/models.py:2672 msgid "Shipment must be checked before it can be completed" msgstr "發貨紀錄必須在完成前進行檢查" -#: order/models.py:2740 +#: order/models.py:2742 msgid "Sales Order Extra Line" msgstr "銷售訂單加行" -#: order/models.py:2769 +#: order/models.py:2771 msgid "Sales Order Allocation" msgstr "銷售訂單分配" -#: order/models.py:2792 order/models.py:2794 order/models.py:3847 -#: order/models.py:3849 +#: order/models.py:2794 order/models.py:2796 order/models.py:3850 +#: order/models.py:3852 msgid "Stock item has not been assigned" msgstr "庫存項目尚未分配" -#: order/models.py:2801 order/models.py:3856 +#: order/models.py:2803 order/models.py:3859 msgid "Cannot allocate stock item to a line with a different part" msgstr "無法將庫存項目分配給具有不同零件的行" -#: order/models.py:2804 order/models.py:3859 +#: order/models.py:2806 order/models.py:3862 msgid "Cannot allocate stock to a line without a part" msgstr "無法將庫存分配給沒有零件的生產線" -#: order/models.py:2807 order/models.py:3862 +#: order/models.py:2809 order/models.py:3865 msgid "Allocation quantity cannot exceed stock quantity" msgstr "分配數量不能超過庫存數量" -#: order/models.py:2823 order/models.py:3878 +#: order/models.py:2825 order/models.py:3881 msgid "Allocation quantity must be greater than zero" msgstr "分配的數量必須大於零" -#: order/models.py:2826 order/models.py:3881 order/serializers.py:1726 +#: order/models.py:2828 order/models.py:3884 order/serializers.py:1726 #: order/serializers.py:2812 msgid "Quantity must be 1 for serialized stock item" msgstr "序列化庫存項目的數量必須為1" -#: order/models.py:2829 +#: order/models.py:2831 msgid "Sales order does not match shipment" msgstr "銷售訂單與發貨不匹配" -#: order/models.py:2830 plugin/base/barcodes/api.py:709 +#: order/models.py:2832 plugin/base/barcodes/api.py:713 msgid "Shipment does not match sales order" msgstr "發貨與銷售訂單不匹配" -#: order/models.py:2838 order/models.py:3889 +#: order/models.py:2840 order/models.py:3892 msgid "Line" msgstr "行" -#: order/models.py:2849 +#: order/models.py:2851 msgid "Sales order shipment reference" msgstr "銷售訂單發貨參考" -#: order/models.py:2862 order/models.py:3288 order/models.py:3902 +#: order/models.py:2864 order/models.py:3291 order/models.py:3905 msgid "Item" msgstr "項目" -#: order/models.py:2863 order/models.py:3903 +#: order/models.py:2865 order/models.py:3906 msgid "Select stock item to allocate" msgstr "選擇要分配的庫存項目" -#: order/models.py:2872 order/models.py:3912 +#: order/models.py:2874 order/models.py:3915 msgid "Enter stock allocation quantity" msgstr "輸入庫存分配數量" -#: order/models.py:2989 +#: order/models.py:2992 msgid "Return Order reference" msgstr "退貨訂單參考" -#: order/models.py:3001 +#: order/models.py:3004 msgid "Company from which items are being returned" msgstr "退回物品的公司" -#: order/models.py:3014 +#: order/models.py:3017 msgid "Return order status" msgstr "退貨訂單狀態" -#: order/models.py:3246 +#: order/models.py:3249 msgid "Return Order Line Item" msgstr "退貨訂單行項目" -#: order/models.py:3259 +#: order/models.py:3262 msgid "Stock item must be specified" msgstr "必須指定庫存項目" -#: order/models.py:3263 +#: order/models.py:3266 msgid "Return quantity exceeds stock quantity" msgstr "退回數量超過庫存數量" -#: order/models.py:3268 +#: order/models.py:3271 msgid "Return quantity must be greater than zero" msgstr "退回數量必須大於零" -#: order/models.py:3273 +#: order/models.py:3276 msgid "Invalid quantity for serialized stock item" msgstr "序列化庫存項目的數量無效" -#: order/models.py:3289 +#: order/models.py:3292 msgid "Select item to return from customer" msgstr "選擇要從客户處退回的商品" -#: order/models.py:3304 +#: order/models.py:3307 msgid "Received Date" msgstr "接收日期" -#: order/models.py:3305 +#: order/models.py:3308 msgid "The date this return item was received" msgstr "收到此退貨項目的日期" -#: order/models.py:3317 +#: order/models.py:3320 msgid "Outcome" msgstr "結果" -#: order/models.py:3318 +#: order/models.py:3321 msgid "Outcome for this line item" msgstr "該行項目的結果" -#: order/models.py:3325 +#: order/models.py:3328 msgid "Cost associated with return or repair for this line item" msgstr "與此行項目的退貨或維修相關的成本" -#: order/models.py:3335 +#: order/models.py:3338 msgid "Return Order Extra Line" msgstr "退貨訂單附加行" -#: order/models.py:3436 +#: order/models.py:3439 msgid "Transfer Order Reference" msgstr "" -#: order/models.py:3447 +#: order/models.py:3450 msgid "Transfer order status" msgstr "" -#: order/models.py:3462 +#: order/models.py:3465 msgid "Source for transferred items" msgstr "" -#: order/models.py:3472 +#: order/models.py:3475 msgid "Destination for transferred items" msgstr "" -#: order/models.py:3477 +#: order/models.py:3480 msgid "Consume Stock" msgstr "" -#: order/models.py:3479 +#: order/models.py:3482 msgid "Rather than transfer the stock to the destination, \"consume\" it, by removing transferred quantity from the allocated stock item" msgstr "" -#: order/models.py:3537 +#: order/models.py:3540 msgid "Order cannot be completed until a destination location is set" msgstr "" -#: order/models.py:3542 +#: order/models.py:3545 msgid "Order cannot be completed until it is fully allocated" msgstr "" -#: order/models.py:3736 +#: order/models.py:3739 msgid "Transfer Order Line Item" msgstr "" -#: order/models.py:3769 +#: order/models.py:3772 msgid "transferred" msgstr "" -#: order/models.py:3770 +#: order/models.py:3773 msgid "transferred quantity" msgstr "" -#: order/models.py:3824 +#: order/models.py:3827 msgid "Transfer Order Allocation" msgstr "" @@ -5692,7 +5696,7 @@ msgstr "複製額外行" msgid "Copy extra line items from the original order" msgstr "從原始訂單複製額外的行項目" -#: order/serializers.py:99 part/serializers.py:439 +#: order/serializers.py:99 part/serializers.py:450 msgid "Copy Parameters" msgstr "複製參數" @@ -5784,11 +5788,11 @@ msgstr "合併項目" msgid "Merge items with the same part, destination and target date into one line item" msgstr "將具有相同零件、目的地和目標日期的項目合併到一個行項目中" -#: order/serializers.py:776 part/serializers.py:508 +#: order/serializers.py:776 part/serializers.py:519 msgid "SKU" msgstr "庫存量單位" -#: order/serializers.py:790 part/models.py:1156 part/serializers.py:367 +#: order/serializers.py:790 part/models.py:1156 part/serializers.py:378 msgid "Internal Part Number" msgstr "內部零件編號" @@ -5825,7 +5829,7 @@ msgid "Enter batch code for incoming stock items" msgstr "輸入入庫項目的批號" #: order/serializers.py:910 stock/models.py:1212 -#: templates/email/stale_stock_notification.html:22 users/models.py:137 +#: templates/email/stale_stock_notification.html:22 users/models.py:135 msgid "Expiry Date" msgstr "有效期至" @@ -6056,123 +6060,131 @@ msgstr "逾期退貨訂單" msgid "Return order {ro} is now overdue" msgstr "退貨訂單 {ro} 已逾期" -#: part/api.py:89 +#: part/api.py:90 msgid "Starred" msgstr "已加星標" -#: part/api.py:91 +#: part/api.py:92 msgid "Filter by starred categories" msgstr "按星標類別篩選" -#: part/api.py:108 stock/api.py:288 +#: part/api.py:109 stock/api.py:289 msgid "Depth" msgstr "深度" -#: part/api.py:108 +#: part/api.py:109 msgid "Filter by category depth" msgstr "按類別深度篩選" -#: part/api.py:126 stock/api.py:306 +#: part/api.py:127 stock/api.py:307 msgid "Top Level" msgstr "頂級" -#: part/api.py:128 +#: part/api.py:129 msgid "Filter by top-level categories" msgstr "按頂級類別篩選" -#: part/api.py:141 stock/api.py:321 +#: part/api.py:142 stock/api.py:322 msgid "Cascade" msgstr "級聯" -#: part/api.py:143 +#: part/api.py:144 msgid "Include sub-categories in filtered results" msgstr "在篩選結果中包含子類別" -#: part/api.py:163 +#: part/api.py:164 msgid "Parent" msgstr "父類" -#: part/api.py:165 +#: part/api.py:166 msgid "Filter by parent category" msgstr "按父類別篩選" -#: part/api.py:200 +#: part/api.py:201 msgid "Exclude sub-categories under the specified category" msgstr "排除指定類別下的子類別" -#: part/api.py:428 +#: part/api.py:298 stock/api.py:469 +msgid "Max Level" +msgstr "" + +#: part/api.py:300 stock/api.py:471 +msgid "Limit the depth of the category tree" +msgstr "" + +#: part/api.py:442 msgid "Has Results" msgstr "有結果" -#: part/api.py:658 +#: part/api.py:672 msgid "Is Variant" msgstr "為變體" -#: part/api.py:666 +#: part/api.py:680 msgid "Is Revision" msgstr "是修訂版本" -#: part/api.py:676 +#: part/api.py:690 msgid "Has Revisions" msgstr "有修訂版本" -#: part/api.py:874 +#: part/api.py:888 msgid "BOM Valid" msgstr "物料清單合規" -#: part/api.py:981 +#: part/api.py:995 msgid "Cascade Categories" msgstr "級聯類別" -#: part/api.py:982 +#: part/api.py:996 msgid "If true, include items in child categories of the given category" msgstr "若為 true,則包含給定類別的子類別中的項目" -#: part/api.py:988 +#: part/api.py:1002 msgid "Filter by numeric category ID or the literal 'null'" msgstr "依數字類別 ID 或常值 'null' 篩選" -#: part/api.py:1301 +#: part/api.py:1315 msgid "Assembly part is active" msgstr "組件零件處於作用中狀態" -#: part/api.py:1305 +#: part/api.py:1319 msgid "Assembly part is trackable" msgstr "組件零件可追蹤" -#: part/api.py:1309 +#: part/api.py:1323 msgid "Assembly part is testable" msgstr "裝配部份是可測試的" -#: part/api.py:1313 +#: part/api.py:1327 msgid "Assembly part is locked" msgstr "" -#: part/api.py:1318 +#: part/api.py:1332 msgid "Component part is active" msgstr "子零件處於作用中狀態" -#: part/api.py:1322 +#: part/api.py:1336 msgid "Component part is trackable" msgstr "子零件可追蹤" -#: part/api.py:1326 +#: part/api.py:1340 msgid "Component part is testable" msgstr "組件部份是可測試的" -#: part/api.py:1330 +#: part/api.py:1344 msgid "Component part is an assembly" msgstr "子零件是一個組件" -#: part/api.py:1334 +#: part/api.py:1348 msgid "Component part is virtual" msgstr "子零件是虛擬的" -#: part/api.py:1338 +#: part/api.py:1352 msgid "Has available stock" msgstr "有可用庫存" -#: part/api.py:1395 +#: part/api.py:1409 msgid "Uses" msgstr "使用" @@ -6213,7 +6225,7 @@ msgstr "此類別零件的默認關鍵字" msgid "Icon" msgstr "圖標" -#: part/models.py:137 part/serializers.py:175 part/serializers.py:196 +#: part/models.py:137 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:187 msgid "Icon (optional)" msgstr "圖標(可選)" @@ -6349,7 +6361,7 @@ msgstr "提高搜索結果可見性的零件關鍵字" msgid "Part category" msgstr "零件類別" -#: part/models.py:1155 part/serializers.py:859 +#: part/models.py:1155 part/serializers.py:870 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "內部零件號 IPN" @@ -6358,7 +6370,7 @@ msgstr "內部零件號 IPN" msgid "Part revision or version number" msgstr "零件修訂版本或版本號" -#: part/models.py:1164 report/models.py:233 +#: part/models.py:1164 report/models.py:234 msgid "Revision" msgstr "版本" @@ -6382,7 +6394,7 @@ msgstr "默認到期" msgid "Expiry time (in days) for stock items of this part" msgstr "此零件庫存項的過期時間 (天)" -#: part/models.py:1236 part/serializers.py:929 +#: part/models.py:1236 part/serializers.py:940 msgid "Minimum Stock" msgstr "最低庫存" @@ -6390,7 +6402,7 @@ msgstr "最低庫存" msgid "Minimum allowed stock level" msgstr "允許的最小庫存量" -#: part/models.py:1245 part/serializers.py:933 +#: part/models.py:1245 part/serializers.py:944 msgid "Maximum Stock" msgstr "" @@ -6759,7 +6771,7 @@ msgstr "子零件" msgid "Select part to be used in BOM" msgstr "選擇要用於物料清單的零件" -#: part/models.py:4111 part/serializers.py:1719 +#: part/models.py:4111 part/serializers.py:1730 msgid "Amount" msgstr "" @@ -6911,351 +6923,351 @@ msgstr "上級類別" msgid "Parent part category" msgstr "上級零件類別" -#: part/serializers.py:139 part/serializers.py:193 +#: part/serializers.py:139 part/serializers.py:204 msgid "Subcategories" msgstr "子類別" -#: part/serializers.py:232 +#: part/serializers.py:243 msgid "Results" msgstr "結果" -#: part/serializers.py:233 +#: part/serializers.py:244 msgid "Number of results recorded against this template" msgstr "根據該模板記錄的結果數量" -#: part/serializers.py:264 part/serializers.py:282 stock/serializers.py:675 +#: part/serializers.py:275 part/serializers.py:293 stock/serializers.py:675 msgid "Purchase currency of this stock item" msgstr "購買此庫存項的貨幣" -#: part/serializers.py:309 +#: part/serializers.py:320 msgid "File is not an image" msgstr "檔案不是圖片" -#: part/serializers.py:419 +#: part/serializers.py:430 msgid "Original Part" msgstr "原始零件" -#: part/serializers.py:420 +#: part/serializers.py:431 msgid "Select original part to duplicate" msgstr "選擇要複製的原始零件" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Copy Image" msgstr "複製圖片" -#: part/serializers.py:426 +#: part/serializers.py:437 msgid "Copy image from original part" msgstr "從原零件複製圖片" -#: part/serializers.py:432 +#: part/serializers.py:443 msgid "Copy BOM" msgstr "複製物料清單" -#: part/serializers.py:433 +#: part/serializers.py:444 msgid "Copy bill of materials from original part" msgstr "從原始零件複製材料清單" -#: part/serializers.py:440 +#: part/serializers.py:451 msgid "Copy parameter data from original part" msgstr "從原始零件複製參數數據" -#: part/serializers.py:446 +#: part/serializers.py:457 msgid "Copy Notes" msgstr "複製備註" -#: part/serializers.py:447 +#: part/serializers.py:458 msgid "Copy notes from original part" msgstr "從原始零件複製備註" -#: part/serializers.py:453 +#: part/serializers.py:464 msgid "Copy Tests" msgstr "複製測試模板" -#: part/serializers.py:454 +#: part/serializers.py:465 msgid "Copy test templates from original part" msgstr "從原始零件複製測試模板" -#: part/serializers.py:472 +#: part/serializers.py:483 msgid "Initial Stock Quantity" msgstr "初始化庫存數量" -#: part/serializers.py:474 +#: part/serializers.py:485 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "指定此零件的初始庫存數量。如果數量為零,則不添加任何庫存。" -#: part/serializers.py:481 +#: part/serializers.py:492 msgid "Initial Stock Location" msgstr "初始化庫存地點" -#: part/serializers.py:482 +#: part/serializers.py:493 msgid "Specify initial stock location for this Part" msgstr "初始化指定此零件的庫存地點" -#: part/serializers.py:499 +#: part/serializers.py:510 msgid "Select supplier (or leave blank to skip)" msgstr "選擇供應商(或為空以跳過)" -#: part/serializers.py:515 +#: part/serializers.py:526 msgid "Select manufacturer (or leave blank to skip)" msgstr "選擇製造商(或為空)" -#: part/serializers.py:525 +#: part/serializers.py:536 msgid "Manufacturer part number" msgstr "製造商零件號" -#: part/serializers.py:532 +#: part/serializers.py:543 msgid "Selected company is not a valid supplier" msgstr "所選公司不是一個有效的供應商" -#: part/serializers.py:541 +#: part/serializers.py:552 msgid "Selected company is not a valid manufacturer" msgstr "所選公司不是一個有效的製造商" -#: part/serializers.py:552 +#: part/serializers.py:563 msgid "Manufacturer part matching this MPN already exists" msgstr "與此製造商零件編號 (MPN) 的相匹配的製造商零件已存在" -#: part/serializers.py:559 +#: part/serializers.py:570 msgid "Supplier part matching this SKU already exists" msgstr "匹配此庫存單位 (SKU) 的供應商零件已存在" -#: part/serializers.py:844 +#: part/serializers.py:855 msgid "Category Name" msgstr "類別名稱" -#: part/serializers.py:873 +#: part/serializers.py:884 msgid "Building" msgstr "正在生產" -#: part/serializers.py:874 +#: part/serializers.py:885 msgid "Quantity of this part currently being in production" msgstr "此零件目前生產中數量" -#: part/serializers.py:881 +#: part/serializers.py:892 msgid "Outstanding quantity of this part scheduled to be built" msgstr "此零件排程待製造未完成數量" -#: part/serializers.py:901 stock/serializers.py:1051 stock/serializers.py:1256 +#: part/serializers.py:912 stock/serializers.py:1051 stock/serializers.py:1267 #: users/ruleset.py:33 msgid "Stock Items" msgstr "庫存項" -#: part/serializers.py:905 +#: part/serializers.py:916 msgid "Revisions" msgstr "修訂" -#: part/serializers.py:909 part/serializers.py:1208 +#: part/serializers.py:920 part/serializers.py:1219 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "庫存總量" -#: part/serializers.py:917 +#: part/serializers.py:928 msgid "Unallocated Stock" msgstr "未分配的庫存" -#: part/serializers.py:925 +#: part/serializers.py:936 msgid "Variant Stock" msgstr "變體庫存" -#: part/serializers.py:1000 +#: part/serializers.py:1011 msgid "Duplicate Part" msgstr "重複零件" -#: part/serializers.py:1001 +#: part/serializers.py:1012 msgid "Copy initial data from another Part" msgstr "從另一個零件複製初始數據" -#: part/serializers.py:1007 +#: part/serializers.py:1018 msgid "Initial Stock" msgstr "初始庫存" -#: part/serializers.py:1008 +#: part/serializers.py:1019 msgid "Create Part with initial stock quantity" msgstr "創建具有初始庫存數量的零件" -#: part/serializers.py:1014 +#: part/serializers.py:1025 msgid "Supplier Information" msgstr "供應商信息" -#: part/serializers.py:1015 +#: part/serializers.py:1026 msgid "Add initial supplier information for this part" msgstr "添加此零件的初始供應商信息" -#: part/serializers.py:1024 +#: part/serializers.py:1035 msgid "Copy Category Parameters" msgstr "複製類別參數" -#: part/serializers.py:1025 +#: part/serializers.py:1036 msgid "Copy parameter templates from selected part category" msgstr "從選擇的零件複製參數模版" -#: part/serializers.py:1030 +#: part/serializers.py:1041 msgid "Existing Image" msgstr "現有的圖片" -#: part/serializers.py:1031 +#: part/serializers.py:1042 msgid "Filename of an existing part image" msgstr "現有零件圖片的文件名" -#: part/serializers.py:1048 +#: part/serializers.py:1059 msgid "Image file does not exist" msgstr "圖片不存在" -#: part/serializers.py:1180 +#: part/serializers.py:1191 msgid "Validate entire Bill of Materials" msgstr "驗證整個物料清單" -#: part/serializers.py:1214 part/serializers.py:1810 +#: part/serializers.py:1225 part/serializers.py:1821 msgid "Can Build" msgstr "可以創建" -#: part/serializers.py:1231 +#: part/serializers.py:1242 msgid "Required for Build Orders" msgstr "生產工單需求數" -#: part/serializers.py:1236 +#: part/serializers.py:1247 msgid "Allocated to Build Orders" msgstr "已分配至生產工單" -#: part/serializers.py:1243 +#: part/serializers.py:1254 msgid "Required for Sales Orders" msgstr "銷售訂單需求數" -#: part/serializers.py:1247 +#: part/serializers.py:1258 msgid "Allocated to Sales Orders" msgstr "已分配至銷售訂單" -#: part/serializers.py:1307 +#: part/serializers.py:1318 msgid "Part IPN" msgstr "零件 IPN" -#: part/serializers.py:1314 +#: part/serializers.py:1325 msgid "Part Description" msgstr "零件描述" -#: part/serializers.py:1358 +#: part/serializers.py:1369 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "選擇一個零件以產生該零件 (及其任何變體零件) 的盤點資訊" -#: part/serializers.py:1368 +#: part/serializers.py:1379 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "選擇一個類別以包含該類別 (及其子類別) 內的所有零件" -#: part/serializers.py:1378 +#: part/serializers.py:1389 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "選擇一個位置以包含該位置 (及其子位置) 內所有有庫存的零件" -#: part/serializers.py:1385 +#: part/serializers.py:1396 msgid "Generate Stocktake Entries" msgstr "產生盤點項目" -#: part/serializers.py:1386 +#: part/serializers.py:1397 msgid "Save stocktake entries for the selected parts" msgstr "儲存選定零件的盤點項目" -#: part/serializers.py:1393 +#: part/serializers.py:1404 msgid "Generate Report" msgstr "產製報表" -#: part/serializers.py:1394 +#: part/serializers.py:1405 msgid "Generate a stocktake report for the selected parts" msgstr "產製選定零件的庫存報表" -#: part/serializers.py:1497 +#: part/serializers.py:1508 msgid "Minimum Price" msgstr "最低價格" -#: part/serializers.py:1498 +#: part/serializers.py:1509 msgid "Override calculated value for minimum price" msgstr "覆蓋已計算的最低價格值" -#: part/serializers.py:1505 +#: part/serializers.py:1516 msgid "Minimum price currency" msgstr "最低價格貨幣" -#: part/serializers.py:1512 +#: part/serializers.py:1523 msgid "Maximum Price" msgstr "最高價格" -#: part/serializers.py:1513 +#: part/serializers.py:1524 msgid "Override calculated value for maximum price" msgstr "覆蓋已計算的最高價格值" -#: part/serializers.py:1520 +#: part/serializers.py:1531 msgid "Maximum price currency" msgstr "最高價格貨幣" -#: part/serializers.py:1549 +#: part/serializers.py:1560 msgid "Update" msgstr "更新" -#: part/serializers.py:1550 +#: part/serializers.py:1561 msgid "Update pricing for this part" msgstr "更新這個零件的價格" -#: part/serializers.py:1573 +#: part/serializers.py:1584 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "無法將所提供的貨幣轉換為 {default_currency}" -#: part/serializers.py:1580 +#: part/serializers.py:1591 msgid "Minimum price must not be greater than maximum price" msgstr "最低價格不能高於最高價格。" -#: part/serializers.py:1583 +#: part/serializers.py:1594 msgid "Maximum price must not be less than minimum price" msgstr "最高價格不能低於最低價格" -#: part/serializers.py:1720 +#: part/serializers.py:1731 msgid "Amount required for this item (can include units)" msgstr "" -#: part/serializers.py:1737 +#: part/serializers.py:1748 msgid "Select the parent assembly" msgstr "選擇父裝配" -#: part/serializers.py:1772 +#: part/serializers.py:1783 msgid "Select the component part" msgstr "選擇零部件" -#: part/serializers.py:1892 +#: part/serializers.py:1903 msgid "Invalid quantity format" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2032 msgid "Select part to copy BOM from" msgstr "選擇要複製物料清單的零件" -#: part/serializers.py:2029 +#: part/serializers.py:2040 msgid "Remove Existing Data" msgstr "移除現有數據" -#: part/serializers.py:2030 +#: part/serializers.py:2041 msgid "Remove existing BOM items before copying" msgstr "複製前刪除現有的物料清單項目" -#: part/serializers.py:2035 +#: part/serializers.py:2046 msgid "Include Inherited" msgstr "包含繼承的" -#: part/serializers.py:2036 +#: part/serializers.py:2047 msgid "Include BOM items which are inherited from templated parts" msgstr "包含從模板零件繼承的物料清單項目" -#: part/serializers.py:2041 +#: part/serializers.py:2052 msgid "Skip Invalid Rows" msgstr "跳過無效行" -#: part/serializers.py:2042 +#: part/serializers.py:2053 msgid "Enable this option to skip invalid rows" msgstr "啓用此選項以跳過無效行" -#: part/serializers.py:2047 +#: part/serializers.py:2058 msgid "Copy Substitute Parts" msgstr "複製替代品零件" -#: part/serializers.py:2048 +#: part/serializers.py:2059 msgid "Copy substitute parts when duplicate BOM items" msgstr "複製物料清單項目時複製替代品零件" @@ -7326,91 +7338,91 @@ msgstr "未指定操作" msgid "No matching action found" msgstr "未找到指定操作" -#: plugin/base/barcodes/api.py:212 +#: plugin/base/barcodes/api.py:214 msgid "No match found for barcode data" msgstr "未找到匹配條形碼數據" -#: plugin/base/barcodes/api.py:216 +#: plugin/base/barcodes/api.py:218 msgid "Match found for barcode data" msgstr "找到匹配條形碼數據" -#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77 +#: plugin/base/barcodes/api.py:256 plugin/base/barcodes/serializers.py:77 msgid "Model is not supported" msgstr "不支持模型" -#: plugin/base/barcodes/api.py:259 +#: plugin/base/barcodes/api.py:261 msgid "Model instance not found" msgstr "找不到模型實例" -#: plugin/base/barcodes/api.py:288 +#: plugin/base/barcodes/api.py:290 msgid "Barcode matches existing item" msgstr "條形碼匹配現有項目" -#: plugin/base/barcodes/api.py:419 +#: plugin/base/barcodes/api.py:421 msgid "No matching part data found" msgstr "沒有找到匹配的零件數據" -#: plugin/base/barcodes/api.py:435 +#: plugin/base/barcodes/api.py:437 msgid "No matching supplier parts found" msgstr "沒有找到匹配的供應商零件" -#: plugin/base/barcodes/api.py:438 +#: plugin/base/barcodes/api.py:440 msgid "Multiple matching supplier parts found" msgstr "找到多個匹配的供應商零件" -#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:744 +#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 msgid "No matching plugin found for barcode data" msgstr "沒有找到匹配條碼數據的插件" -#: plugin/base/barcodes/api.py:461 +#: plugin/base/barcodes/api.py:463 msgid "Matched supplier part" msgstr "匹配的供應商零件" -#: plugin/base/barcodes/api.py:529 +#: plugin/base/barcodes/api.py:533 msgid "Item has already been received" msgstr "項目已被接收" -#: plugin/base/barcodes/api.py:597 +#: plugin/base/barcodes/api.py:601 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:603 +#: plugin/base/barcodes/api.py:607 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:639 +#: plugin/base/barcodes/api.py:643 msgid "No plugin match for supplier barcode" msgstr "供應商條碼未匹配任何模組" -#: plugin/base/barcodes/api.py:692 +#: plugin/base/barcodes/api.py:696 msgid "Multiple matching line items found" msgstr "找到多個匹配的行項目" -#: plugin/base/barcodes/api.py:695 +#: plugin/base/barcodes/api.py:699 msgid "No matching line item found" msgstr "未找到匹配的行項目" -#: plugin/base/barcodes/api.py:741 +#: plugin/base/barcodes/api.py:745 msgid "No sales order provided" msgstr "未提供銷售訂單" -#: plugin/base/barcodes/api.py:750 +#: plugin/base/barcodes/api.py:754 msgid "Barcode does not match an existing stock item" msgstr "條形碼與現有的庫存項不匹配" -#: plugin/base/barcodes/api.py:766 +#: plugin/base/barcodes/api.py:770 msgid "Stock item does not match line item" msgstr "庫存項與行項目不匹配" -#: plugin/base/barcodes/api.py:796 +#: plugin/base/barcodes/api.py:800 msgid "Insufficient stock available" msgstr "可用庫存不足" -#: plugin/base/barcodes/api.py:809 +#: plugin/base/barcodes/api.py:813 msgid "Stock item allocated to sales order" msgstr "庫存項已分配到銷售訂單" -#: plugin/base/barcodes/api.py:812 +#: plugin/base/barcodes/api.py:816 msgid "Not enough information" msgstr "沒有足夠的信息" @@ -7992,7 +8004,7 @@ msgstr "邊框" msgid "Print a border around each label" msgstr "打印每個標籤的邊框" -#: plugin/builtin/labels/label_sheet.py:50 report/models.py:396 +#: plugin/builtin/labels/label_sheet.py:50 report/models.py:397 msgid "Landscape" msgstr "橫屏模式" @@ -8481,136 +8493,136 @@ msgstr "法律" msgid "Letter" msgstr "字母" -#: report/models.py:130 +#: report/models.py:131 msgid "Template file with this name already exists" msgstr "已存在具有此名稱的模板" -#: report/models.py:222 +#: report/models.py:223 msgid "Template name" msgstr "模版名稱" -#: report/models.py:228 +#: report/models.py:229 msgid "Template description" msgstr "模板説明" -#: report/models.py:234 +#: report/models.py:235 msgid "Revision number (auto-increments)" msgstr "修訂編號 (自動增量)" -#: report/models.py:240 +#: report/models.py:241 msgid "Attach to Model on Print" msgstr "打印時附加到模型" -#: report/models.py:242 +#: report/models.py:243 msgid "Save report output as an attachment against linked model instance when printing" msgstr "打印時將報告輸出保存為附件與鏈接模型實例" -#: report/models.py:290 +#: report/models.py:291 msgid "Filename Pattern" msgstr "文件名樣式" -#: report/models.py:291 +#: report/models.py:292 msgid "Pattern for generating filenames" msgstr "生成文件名模式" -#: report/models.py:296 +#: report/models.py:297 msgid "Template is enabled" msgstr "模板已啓用" -#: report/models.py:303 +#: report/models.py:304 msgid "Target model type for template" msgstr "模版的目標模型類型" -#: report/models.py:323 +#: report/models.py:324 msgid "Filters" msgstr "篩選器" -#: report/models.py:324 +#: report/models.py:325 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "模版查詢篩選器 (逗號分隔的鍵值對列表)" -#: report/models.py:383 report/models.py:704 +#: report/models.py:384 report/models.py:718 msgid "Template file" msgstr "模板包文件" -#: report/models.py:391 +#: report/models.py:392 msgid "Page size for PDF reports" msgstr "PDF 報告的頁面大小" -#: report/models.py:397 +#: report/models.py:398 msgid "Render report in landscape orientation" msgstr "橫向渲染報告" -#: report/models.py:402 +#: report/models.py:403 msgid "Merge" msgstr "合併" -#: report/models.py:403 +#: report/models.py:404 msgid "Render a single report against selected items" msgstr "針對所選項目產出合併單一報告" -#: report/models.py:470 +#: report/models.py:471 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "由模板 {self.name} 產生的報告" -#: report/models.py:580 report/models.py:619 report/models.py:620 +#: report/models.py:581 report/models.py:620 msgid "Template syntax error" msgstr "模板語法錯誤" -#: report/models.py:587 report/models.py:626 +#: report/models.py:588 report/models.py:627 msgid "Error rendering report" msgstr "報告渲染錯誤" -#: report/models.py:647 +#: report/models.py:655 msgid "Error generating report" msgstr "生成報告錯誤" -#: report/models.py:678 +#: report/models.py:686 msgid "Error merging report outputs" msgstr "合併報告輸出時發生錯誤" -#: report/models.py:710 +#: report/models.py:724 msgid "Width [mm]" msgstr "寬度 [mm]" -#: report/models.py:711 +#: report/models.py:725 msgid "Label width, specified in mm" msgstr "標籤寬度,以毫米為單位。" -#: report/models.py:717 +#: report/models.py:731 msgid "Height [mm]" msgstr "高度 [mm]" -#: report/models.py:718 +#: report/models.py:732 msgid "Label height, specified in mm" msgstr "標籤高度,以毫米為單位。" -#: report/models.py:832 +#: report/models.py:846 msgid "Error printing labels" msgstr "列印標籤時發生錯誤" -#: report/models.py:851 +#: report/models.py:865 msgid "Snippet" msgstr "代碼片段" -#: report/models.py:852 +#: report/models.py:866 msgid "Report snippet file" msgstr "報告代碼片段文件" -#: report/models.py:859 +#: report/models.py:873 msgid "Snippet file description" msgstr "代碼片段文件描述" -#: report/models.py:877 +#: report/models.py:891 msgid "Asset" msgstr "資產" -#: report/models.py:878 +#: report/models.py:892 msgid "Report asset file" msgstr "報告資產文件" -#: report/models.py:885 +#: report/models.py:899 msgid "Asset file description" msgstr "資產文件描述" @@ -8766,200 +8778,200 @@ msgstr "沒有結果" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:167 +#: report/templatetags/report.py:192 msgid "Invalid media file path" msgstr "無效的媒體檔案路徑" -#: report/templatetags/report.py:186 +#: report/templatetags/report.py:211 msgid "Invalid static file path" msgstr "無效的靜態檔案路徑" -#: report/templatetags/report.py:288 +#: report/templatetags/report.py:313 msgid "Asset file not found" msgstr "找不到資產檔案" -#: report/templatetags/report.py:354 report/templatetags/report.py:470 +#: report/templatetags/report.py:379 report/templatetags/report.py:495 msgid "Image file not found" msgstr "找不到圖片文件" -#: report/templatetags/report.py:439 +#: report/templatetags/report.py:464 msgid "No image file specified" msgstr "未指定影像檔案" -#: report/templatetags/report.py:464 +#: report/templatetags/report.py:489 msgid "part_image tag requires a Part instance" msgstr "parpart_image 標籤需要一個零件實例" -#: report/templatetags/report.py:562 +#: report/templatetags/report.py:581 msgid "company_image tag requires a Company instance" msgstr "公司_圖片標籤需要一個公司實例" -#: stock/api.py:288 +#: stock/api.py:289 msgid "Filter by location depth" msgstr "按位置深度篩選" -#: stock/api.py:308 +#: stock/api.py:309 msgid "Filter by top-level locations" msgstr "按頂級位置篩選" -#: stock/api.py:323 +#: stock/api.py:324 msgid "Include sub-locations in filtered results" msgstr "在篩選結果中包含子地點" -#: stock/api.py:344 stock/serializers.py:1252 +#: stock/api.py:345 stock/serializers.py:1263 msgid "Parent Location" msgstr "上級地點" -#: stock/api.py:345 +#: stock/api.py:346 msgid "Filter by parent location" msgstr "按上級位置篩選" -#: stock/api.py:611 +#: stock/api.py:625 msgid "Part name (case insensitive)" msgstr "零件名稱(不分大小寫)" -#: stock/api.py:617 +#: stock/api.py:631 msgid "Part name contains (case insensitive)" msgstr "零件名稱包含(不分大小寫)" -#: stock/api.py:623 +#: stock/api.py:637 msgid "Part name (regex)" msgstr "零件名稱(正則)" -#: stock/api.py:628 +#: stock/api.py:642 msgid "Part IPN (case insensitive)" msgstr "零件 IPN(不分大小寫)" -#: stock/api.py:634 +#: stock/api.py:648 msgid "Part IPN contains (case insensitive)" msgstr "零件 IPN 包含(不分大小寫)" -#: stock/api.py:640 +#: stock/api.py:654 msgid "Part IPN (regex)" msgstr "零件 IPN(正則)" -#: stock/api.py:652 +#: stock/api.py:666 msgid "Minimum stock" msgstr "最小庫存" -#: stock/api.py:656 +#: stock/api.py:670 msgid "Maximum stock" msgstr "最大庫存" -#: stock/api.py:659 +#: stock/api.py:673 msgid "Status Code" msgstr "狀態代碼" -#: stock/api.py:703 +#: stock/api.py:717 msgid "External Location" msgstr "外部地點" -#: stock/api.py:802 +#: stock/api.py:816 msgid "Consumed by Build Order" msgstr "被生產工單消耗" -#: stock/api.py:812 +#: stock/api.py:826 msgid "Installed in other stock item" msgstr "已安裝於其他庫存項" -#: stock/api.py:901 +#: stock/api.py:915 msgid "Part Tree" msgstr "零件樹" -#: stock/api.py:930 +#: stock/api.py:944 msgid "Updated before" msgstr "更新時間早於" -#: stock/api.py:934 +#: stock/api.py:948 msgid "Updated after" msgstr "更新時間晚於" -#: stock/api.py:938 +#: stock/api.py:952 msgid "Stocktake Before" msgstr "盤點日期早於" -#: stock/api.py:942 +#: stock/api.py:956 msgid "Stocktake After" msgstr "盤點日期晚於" -#: stock/api.py:946 +#: stock/api.py:960 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:957 +#: stock/api.py:971 msgid "Expiry date before" msgstr "過期日期前" -#: stock/api.py:961 +#: stock/api.py:975 msgid "Expiry date after" msgstr "過期日期後" -#: stock/api.py:964 stock/serializers.py:663 +#: stock/api.py:978 stock/serializers.py:663 msgid "Stale" msgstr "過期" -#: stock/api.py:990 +#: stock/api.py:1004 msgid "Provide a StockItem PK to exclude that item and all its descendants" msgstr "提供一個 StockItem PK 以排除該項目及其所有子項目" -#: stock/api.py:1008 +#: stock/api.py:1022 msgid "Cascade Locations" msgstr "級聯位置" -#: stock/api.py:1009 +#: stock/api.py:1023 msgid "If true, include items in child locations of the given location" msgstr "若為 true,則包含給定位置的子位置中的項目" -#: stock/api.py:1015 +#: stock/api.py:1029 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "依數字位置 ID 或常值 'null' 篩選" -#: stock/api.py:1117 +#: stock/api.py:1131 msgid "Quantity is required" msgstr "請先輸入數量" -#: stock/api.py:1122 +#: stock/api.py:1136 msgid "Valid part must be supplied" msgstr "必須提供有效的零件" -#: stock/api.py:1153 +#: stock/api.py:1167 msgid "The given supplier part does not exist" msgstr "給定的供應商零件不存在" -#: stock/api.py:1163 +#: stock/api.py:1177 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "供應商零件有定義的包裝大小,但 use_pack_size 標誌未設置" -#: stock/api.py:1195 +#: stock/api.py:1209 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "不能為不可跟蹤的零件提供序列號" -#: stock/api.py:1440 +#: stock/api.py:1454 msgid "Include Installed" msgstr "包含已安裝" -#: stock/api.py:1442 +#: stock/api.py:1456 msgid "If true, include test results for items installed underneath the given stock item" msgstr "若為 true,則包含安裝在給定庫存項目下方的項目的測試結果" -#: stock/api.py:1449 +#: stock/api.py:1463 msgid "Filter by numeric Stock Item ID" msgstr "使用數字庫存品項 ID 做過濾" -#: stock/api.py:1470 +#: stock/api.py:1484 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "庫存品項 ID {id} 不存在" -#: stock/api.py:1547 +#: stock/api.py:1558 msgid "Include Part Variants" msgstr "包括零件變數" -#: stock/api.py:1577 +#: stock/api.py:1588 msgid "Date after" msgstr "日前之後" -#: stock/api.py:1581 +#: stock/api.py:1592 msgid "Date before" msgstr "日期之前" @@ -8995,7 +9007,7 @@ msgstr "選擇所有者" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "庫存項可能不直接位於結構庫存地點,但可能位於其子地點。" -#: stock/models.py:213 users/models.py:495 +#: stock/models.py:213 users/models.py:493 msgid "External" msgstr "外部" @@ -9101,7 +9113,7 @@ msgstr "為此庫存項目選擇匹配的供應商零件" msgid "Where is this stock item located?" msgstr "這個庫存物品在哪裏?" -#: stock/models.py:1109 stock/serializers.py:1711 +#: stock/models.py:1109 stock/serializers.py:1722 msgid "Packaging this stock item is stored in" msgstr "包裝此庫存物品存儲在" @@ -9117,7 +9129,7 @@ msgstr "此項目是否安裝在另一個項目中?" msgid "Serial number for this item" msgstr "此項目的序列號" -#: stock/models.py:1156 stock/serializers.py:1696 +#: stock/models.py:1156 stock/serializers.py:1707 msgid "Batch code for this stock item" msgstr "此庫存項的批號" @@ -9234,7 +9246,7 @@ msgstr "庫存項目前正在生產" msgid "Serialized stock cannot be merged" msgstr "序列化的庫存不能合併" -#: stock/models.py:2182 stock/serializers.py:1566 +#: stock/models.py:2182 stock/serializers.py:1577 msgid "Duplicate stock items" msgstr "複製庫存項" @@ -9398,7 +9410,7 @@ msgstr "輸入新項目的序列號" msgid "Supplier Part Number" msgstr "供應商零件編號" -#: stock/serializers.py:655 users/models.py:185 +#: stock/serializers.py:655 users/models.py:183 msgid "Expired" msgstr "已過期" @@ -9428,8 +9440,8 @@ msgstr "未提供庫存項" msgid "Quantity must not exceed available stock quantity ({q})" msgstr "數量不得超過現有庫存量 ({q})" -#: stock/serializers.py:743 stock/serializers.py:1523 stock/serializers.py:1862 -#: stock/serializers.py:1911 +#: stock/serializers.py:743 stock/serializers.py:1534 stock/serializers.py:1873 +#: stock/serializers.py:1922 msgid "Destination stock location" msgstr "目標庫存位置" @@ -9501,127 +9513,127 @@ msgstr "選擇要更改狀態的庫存項目" msgid "No stock items selected" msgstr "未選擇庫存商品" -#: stock/serializers.py:1165 stock/serializers.py:1258 +#: stock/serializers.py:1176 stock/serializers.py:1269 msgid "Sublocations" msgstr "轉租" -#: stock/serializers.py:1183 +#: stock/serializers.py:1194 msgid "Delete Stock Items" msgstr "" -#: stock/serializers.py:1184 +#: stock/serializers.py:1195 msgid "Delete all stock items contained within this location" msgstr "" -#: stock/serializers.py:1189 +#: stock/serializers.py:1200 msgid "Delete Sublocations" msgstr "" -#: stock/serializers.py:1190 +#: stock/serializers.py:1201 msgid "Delete all sub-locations contained within this location" msgstr "" -#: stock/serializers.py:1253 +#: stock/serializers.py:1264 msgid "Parent stock location" msgstr "上級庫存地點" -#: stock/serializers.py:1391 +#: stock/serializers.py:1402 msgid "Part must be salable" msgstr "零件必須可銷售" -#: stock/serializers.py:1395 +#: stock/serializers.py:1406 msgid "Item is allocated to a sales order" msgstr "物料已分配到銷售訂單" -#: stock/serializers.py:1399 +#: stock/serializers.py:1410 msgid "Item is allocated to a transfer order" msgstr "" -#: stock/serializers.py:1403 +#: stock/serializers.py:1414 msgid "Item is allocated to a build order" msgstr "項目被分配到生產訂單中" -#: stock/serializers.py:1427 +#: stock/serializers.py:1438 msgid "Customer to assign stock items" msgstr "客户分配庫存項目" -#: stock/serializers.py:1433 +#: stock/serializers.py:1444 msgid "Selected company is not a customer" msgstr "所選公司不是客户" -#: stock/serializers.py:1441 +#: stock/serializers.py:1452 msgid "Stock assignment notes" msgstr "庫存分配説明" -#: stock/serializers.py:1451 stock/serializers.py:1739 +#: stock/serializers.py:1462 stock/serializers.py:1750 msgid "A list of stock items must be provided" msgstr "必須提供庫存物品清單" -#: stock/serializers.py:1530 +#: stock/serializers.py:1541 msgid "Stock merging notes" msgstr "庫存合併説明" -#: stock/serializers.py:1535 +#: stock/serializers.py:1546 msgid "Allow mismatched suppliers" msgstr "允許不匹配的供應商" -#: stock/serializers.py:1536 +#: stock/serializers.py:1547 msgid "Allow stock items with different supplier parts to be merged" msgstr "允許合併具有不同供應商零件的庫存項目" -#: stock/serializers.py:1541 +#: stock/serializers.py:1552 msgid "Allow mismatched status" msgstr "允許不匹配的狀態" -#: stock/serializers.py:1542 +#: stock/serializers.py:1553 msgid "Allow stock items with different status codes to be merged" msgstr "允許合併具有不同狀態代碼的庫存項目" -#: stock/serializers.py:1552 +#: stock/serializers.py:1563 msgid "At least two stock items must be provided" msgstr "必須提供至少兩件庫存物品" -#: stock/serializers.py:1619 +#: stock/serializers.py:1630 msgid "No Change" msgstr "無更改" -#: stock/serializers.py:1657 +#: stock/serializers.py:1668 msgid "StockItem primary key value" msgstr "庫存項主鍵值" -#: stock/serializers.py:1670 +#: stock/serializers.py:1681 msgid "Stock item is not in stock" msgstr "庫存項無庫存" -#: stock/serializers.py:1673 +#: stock/serializers.py:1684 msgid "Stock item is already in stock" msgstr "庫存項已在庫" -#: stock/serializers.py:1687 +#: stock/serializers.py:1698 msgid "Quantity must not be negative" msgstr "數量不可為負" -#: stock/serializers.py:1729 +#: stock/serializers.py:1740 msgid "Stock transaction notes" msgstr "庫存交易記錄" -#: stock/serializers.py:1758 +#: stock/serializers.py:1769 msgid "Set stock location for counted items (optional)" msgstr "" -#: stock/serializers.py:1917 +#: stock/serializers.py:1928 msgid "Merge into existing stock" msgstr "合併至現有庫存" -#: stock/serializers.py:1918 +#: stock/serializers.py:1929 msgid "Merge returned items into existing stock items if possible" msgstr "可行時將退回項目併入現有庫存" -#: stock/serializers.py:1961 +#: stock/serializers.py:1972 msgid "Next Serial Number" msgstr "下一個序列號" -#: stock/serializers.py:1967 +#: stock/serializers.py:1978 msgid "Previous Serial Number" msgstr "上一個序列號" @@ -9919,7 +9931,7 @@ msgstr "權限" msgid "Important dates" msgstr "重要日期" -#: users/authentication.py:30 users/models.py:151 +#: users/authentication.py:30 users/models.py:149 msgid "Token has been revoked" msgstr "令牌已被撤銷" @@ -9927,163 +9939,163 @@ msgstr "令牌已被撤銷" msgid "Token has expired" msgstr "令牌已過期" -#: users/models.py:94 +#: users/models.py:92 msgid "API Token" msgstr "API 令牌" -#: users/models.py:95 +#: users/models.py:93 msgid "API Tokens" msgstr "API 令牌" -#: users/models.py:131 +#: users/models.py:129 msgid "Token Name" msgstr "令牌名稱" -#: users/models.py:132 +#: users/models.py:130 msgid "Custom token name" msgstr "自定義令牌名稱" -#: users/models.py:138 +#: users/models.py:136 msgid "Token expiry date" msgstr "令牌過期日期" -#: users/models.py:146 +#: users/models.py:144 msgid "Last Seen" msgstr "最近一次在線" -#: users/models.py:147 +#: users/models.py:145 msgid "Last time the token was used" msgstr "最近使用令牌的時間" -#: users/models.py:151 +#: users/models.py:149 msgid "Revoked" msgstr "撤銷" -#: users/models.py:227 +#: users/models.py:225 msgid "Permission set" msgstr "權限設置" -#: users/models.py:240 +#: users/models.py:238 msgid "View" msgstr "查看" -#: users/models.py:240 +#: users/models.py:238 msgid "Permission to view items" msgstr "查看項目的權限" -#: users/models.py:244 +#: users/models.py:242 msgid "Add" msgstr "添加" -#: users/models.py:244 +#: users/models.py:242 msgid "Permission to add items" msgstr "添加項目的權限" -#: users/models.py:248 +#: users/models.py:246 msgid "Change" msgstr "更改" -#: users/models.py:250 +#: users/models.py:248 msgid "Permissions to edit items" msgstr "編輯項目的權限" -#: users/models.py:254 +#: users/models.py:252 msgid "Delete" msgstr "刪除" -#: users/models.py:256 +#: users/models.py:254 msgid "Permission to delete items" msgstr "刪除項目的權限" -#: users/models.py:493 +#: users/models.py:491 msgid "Bot" msgstr "機器人" -#: users/models.py:494 +#: users/models.py:492 msgid "Internal" msgstr "內部" -#: users/models.py:496 +#: users/models.py:494 msgid "Guest" msgstr "訪客" -#: users/models.py:505 +#: users/models.py:503 msgid "Language" msgstr "語言 LANG" -#: users/models.py:506 +#: users/models.py:504 msgid "Preferred language for the user" msgstr "使用者偏好語言" -#: users/models.py:511 +#: users/models.py:509 msgid "Theme" msgstr "主題" -#: users/models.py:512 +#: users/models.py:510 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "Web 介面設定(JSON,請勿手動編輯)" -#: users/models.py:517 +#: users/models.py:515 msgid "Widgets" msgstr "小工具" -#: users/models.py:519 +#: users/models.py:517 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "儀表板小工具設定(JSON,請勿手動編輯)" -#: users/models.py:526 +#: users/models.py:524 msgid "Display Name" msgstr "顯示名稱" -#: users/models.py:527 +#: users/models.py:525 msgid "Chosen display name for the user" msgstr "使用者自選顯示名稱" -#: users/models.py:533 +#: users/models.py:531 msgid "Position" msgstr "職稱" -#: users/models.py:534 +#: users/models.py:532 msgid "Main job title or position" msgstr "主要職稱或職位" -#: users/models.py:541 +#: users/models.py:539 msgid "User status message" msgstr "使用者狀態訊息" -#: users/models.py:548 +#: users/models.py:546 msgid "User location information" msgstr "使用者位置資訊" -#: users/models.py:553 +#: users/models.py:551 msgid "User is actively using the system" msgstr "使用者目前活躍" -#: users/models.py:560 +#: users/models.py:558 msgid "Preferred contact information for the user" msgstr "使用者偏好聯絡資訊" -#: users/models.py:566 +#: users/models.py:564 msgid "User Type" msgstr "使用者類型" -#: users/models.py:567 +#: users/models.py:565 msgid "Which type of user is this?" msgstr "此為哪種類型的使用者?" -#: users/models.py:573 +#: users/models.py:571 msgid "Organisation" msgstr "組織" -#: users/models.py:574 +#: users/models.py:572 msgid "Users primary organisation/affiliation" msgstr "使用者主要所屬組織" -#: users/models.py:582 +#: users/models.py:580 msgid "Primary Group" msgstr "主要群組" -#: users/models.py:583 +#: users/models.py:581 msgid "Primary group for the user" msgstr "使用者的主要群組" diff --git a/src/frontend/src/locales/ar/messages.po b/src/frontend/src/locales/ar/messages.po index feb3621dce..9aeb9a40de 100644 --- a/src/frontend/src/locales/ar/messages.po +++ b/src/frontend/src/locales/ar/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ar\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" @@ -147,7 +147,7 @@ msgstr "" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "" @@ -261,7 +261,7 @@ msgstr "" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -1728,11 +1729,11 @@ msgstr "" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "" @@ -1829,20 +1830,20 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "" #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "" @@ -2128,6 +2129,7 @@ msgstr "" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "" @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "" @@ -2247,7 +2250,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "" @@ -2925,7 +2928,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po index 203d17609a..3bf24ed399 100644 --- a/src/frontend/src/locales/bg/messages.po +++ b/src/frontend/src/locales/bg/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: bg\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "" @@ -261,7 +261,7 @@ msgstr "" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -1728,11 +1729,11 @@ msgstr "" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "" @@ -1829,20 +1830,20 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "" #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "" @@ -2128,6 +2129,7 @@ msgstr "" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "" @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "" @@ -2247,7 +2250,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "" @@ -2925,7 +2928,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po index dda16096d3..1b193f4ba9 100644 --- a/src/frontend/src/locales/cs/messages.po +++ b/src/frontend/src/locales/cs/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: cs\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-23 06:29\n" "Last-Translator: \n" "Language-Team: Czech\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -147,7 +147,7 @@ msgstr "Ne" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Díl" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Díly" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Díly výrobce" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Kategorie dílu" @@ -261,7 +261,7 @@ msgstr "Kategorie dílů" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Skladové položky" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Umístění skladu" @@ -644,14 +644,14 @@ msgstr "Výběr záznamů" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "Vypršel časový limit žádosti." #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "Proces se nezdařil" @@ -1391,11 +1392,11 @@ msgstr "Vyžadováno aministrátorské oprávnění" msgid "This widget requires superuser permissions" msgstr "Tento widget vyžaduje administrátorské oprávnění " -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Žádné novinky" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "Žádné nepřečtené novinky" @@ -1655,7 +1656,7 @@ msgstr "Kód" msgid "Error rendering preview" msgstr "Chyba při vykreslování náhledu" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Náhled není k dispozici, klikněte na \"Znovu načíst náhled\"." @@ -1728,11 +1729,11 @@ msgstr "Uložit aktuální šablonu a znovu načíst náhled" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Vyberte instanci pro náhled" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Chyba při načítání šablony" @@ -1829,20 +1830,20 @@ msgstr "Přihlášení proběhlo úspěšně" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Přihlášení se nezdařilo" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Zkontrolujte vstup a zkuste to znovu." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "E-mail byl doručen úspěšně" @@ -2128,6 +2129,7 @@ msgstr "Nezařazené" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Hledat..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Načítání" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Nebyly nalezeny žádné výsledky" @@ -2247,7 +2250,7 @@ msgstr "Zpracovávání dat" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Vyskytla se chyba" @@ -2925,7 +2928,7 @@ msgstr "Odhlásit" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Navigace" msgid "About" msgstr "O aplikaci" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "Vymazat vyhledávání" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "Chyba při načítání navigačního stromu." @@ -5539,7 +5546,7 @@ msgstr "Interní chyba serveru" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Odhlášen(a)" @@ -5551,97 +5558,97 @@ msgstr "Pro tento prohlížeč došlo ke konfliktní relaci, která byla odhlá #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "Žádná odezva ze serveru." - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "Žádná odezva ze serveru." + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "MFA přihlášení úspěšné" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "Údaje o MFA byly automaticky poskytnuty v prohlížeči" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Úspěšně odhlášen/a" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "Jazyk změněn" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "Váš aktivní jazyk byl změněn podle nastavení Vašeho profilu" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "Motiv změněn" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "Váš aktivní jazyk byl změněn podle nastavení Vašeho profilu" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Zkontrolujte doručenou poštu pro odkaz pro obnovení. Funguje to pouze v případě, že máte účet. Zkontrolujte také ve spamu." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Obnovení selhalo" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "Již přihlášeno!" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "Vyskytl se konflikt relací na serveru pro tento prohlížeč, prosím nejdřív se odhlašte." -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Přihlášen" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Úspěšně přihlášen/a" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "Nepodařilo se nastavit MFA" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "Nastavení MFA bylo úspěšné" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "MFA přes TOTP bylo úspěšně nastaveno; budete se muset znovu přihlásit." -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Nastavení hesla" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Heslo bylo úspěšně nastaveno. Nyní se můžete přihlásit s novým heslem" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "Heslo nelze změnit" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "Dvě pole s hesly se neshodují" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Heslo bylo změněno" @@ -8347,11 +8354,11 @@ msgstr "Vyhledat podle sériového čísla" msgid "Part Actions" msgstr "Akce s položkou" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "Díl uzamčen" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "Díl odemčen" diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po index c7c1e51a8e..f9130209bf 100644 --- a/src/frontend/src/locales/da/messages.po +++ b/src/frontend/src/locales/da/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: da\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Danish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "Nej" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Del" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Dele" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Producent Dele" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Del Kategori" @@ -261,7 +261,7 @@ msgstr "Del Kategorier" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Lagervarer" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Lagerlokation" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "Anmodningen udløb" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "Proces fejlede" @@ -1391,11 +1392,11 @@ msgstr "Kræver Superbruger" msgid "This widget requires superuser permissions" msgstr "Denne widget kræver superbruger tilladelser" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Ingen Nyheder" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "Der er ingen ulæste nyheder" @@ -1655,7 +1656,7 @@ msgstr "Kode" msgid "Error rendering preview" msgstr "Fejl under visning" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Forhåndsvisning ikke tilgængelig, klik \"Genindlæs forhåndsvisning\"." @@ -1728,11 +1729,11 @@ msgstr "Gem den nuværende skabelon og genindlæs forhåndsvisningen" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Vælg eksempel til forhåndsvisning" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Render fejl af skabelon" @@ -1829,20 +1830,20 @@ msgstr "Logget ind" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Login mislykkedes" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Tjek din indtastning og prøv igen." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Mail levering succesfuld" @@ -2128,6 +2129,7 @@ msgstr "Ukategoriseret" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Søg..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Indlæser" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Ingen resultater fundet" @@ -2247,7 +2250,7 @@ msgstr "Behandler Data" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "En feil opstod" @@ -2925,7 +2928,7 @@ msgstr "Log ud" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Navigation" msgid "About" msgstr "Omkring" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "Fejl ved indlæsning af navigationstræ." @@ -5539,7 +5546,7 @@ msgstr "Intern serverfejl" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Logget af" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "Intet svar fra server." - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "Intet svar fra server." + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "Multifaktorgodkendelse Login succesfuld" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "Multifaktorgodkendelse detaljer blev automatisk givet i browseren" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Du er nu logget af" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "Sprog ændret" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "Dit aktive sprog er blevet ændret til det der er sat i din profil" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "Tema ændret" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "Dit aktive tema er blevet ændret til det der er sat i din profil" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Tjek din indbakke for et nulstillingslink. Dette virker kun, hvis du har en konto. Tjek også spam." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Nulstilling fejlede" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "Allerede logget ind" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "Der er en konfliktfyldt session på serveren for denne browser. Log ud af det først." -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Logget ind" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Logget ind" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "Kunne ikke oprette Multifaktorgodkendelse" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Adgangskode sat" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Adgangskoden blev oprettet. Du kan nu logge ind med din nye adgangskode" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "Adgangskoden kunne ikke ændres" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "De to adgangskodefelter matcher ikke" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Adgangskode ændret" @@ -8347,11 +8354,11 @@ msgstr "Søg på serienummer" msgid "Part Actions" msgstr "Del Handlinger" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index 903121d72e..eec32b110a 100644 --- a/src/frontend/src/locales/de/messages.po +++ b/src/frontend/src/locales/de/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "Nein" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Teil" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Teile" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Herstellerteile" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Teilkategorie" @@ -261,7 +261,7 @@ msgstr "Teil-Kategorien" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Lagerartikel" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Lagerort" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "Bei der Anfrage ist eine Zeitüberschreitung aufgetreten" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "Prozess fehlgeschlagen" @@ -1391,11 +1392,11 @@ msgstr "Superuser benötigt" msgid "This widget requires superuser permissions" msgstr "Dieses Widget benötigt Superuser-Berechtigungen" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Keine Neuigkeiten" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "Es gibt keine ungelesenen Neuigkeiten" @@ -1655,7 +1656,7 @@ msgstr "Code" msgid "Error rendering preview" msgstr "Fehler beim rendern der Vorschau" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Vorschau nicht verfügbar, klicke \"Vorschau neu laden\"." @@ -1728,11 +1729,11 @@ msgstr "Die aktuelle Vorlage speichern und die Vorschau neu laden" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Instanz für Vorschau auswählen" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Fehler bei Darstellung der Vorlage" @@ -1829,20 +1830,20 @@ msgstr "Erfolgreich eingeloggt" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Login fehlgeschlagen" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Überprüfen Sie Ihre Eingabe und versuchen Sie es erneut." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Mail erfolgreich gesendet" @@ -2128,6 +2129,7 @@ msgstr "Nicht kategorisiert" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Suchen..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Wird geladen" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Keine Ergebnisse gefunden" @@ -2247,7 +2250,7 @@ msgstr "Daten werden verarbeiten" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Ein Fehler ist aufgetreten" @@ -2925,7 +2928,7 @@ msgstr "Abmelden" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Navigation" msgid "About" msgstr "Über uns" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "Fehler beim Laden des Navigationsbaums." @@ -5539,7 +5546,7 @@ msgstr "Interner Serverfehler" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Ausgeloggt" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "MFA Anmeldung erfolgreich" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "MFA-Details wurden automatisch im Browser angegeben" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Erfolgreich abgemeldet" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "Sprache geändert" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "Die aktive Sprache wurde auf die Sprache des Profils geändert" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "Design geändert" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "Das aktive Design wurde zu dem im Profil eingestellten geändert" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Prüfen Sie Ihren Posteingang für einen Link zum Zurücksetzen. Dies funktioniert nur, wenn Sie ein Konto haben. Prüfen Sie auch den Spam-Ordner." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Zurücksetzen fehlgeschlagen" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "Bereits angemeldet" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "Es gibt eine widersprüchliche Sitzung auf dem Server für diesen Browser. Bitte zuerst abmelden." -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Angemeldet" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Erfolgreich angemeldet" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "MFA konnte nicht eingerichtet werden" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Passwort festgelegt" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Das Passwort wurde erfolgreich festgelegt. Sie können sich jetzt mit Ihrem neuen Passwort anmelden" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "Passwort konnte nicht geändert werden" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "Die beiden Passwortfelder stimmten nicht überein." -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Passwort geändert" @@ -8347,11 +8354,11 @@ msgstr "Nach Seriennummer suchen" msgid "Part Actions" msgstr "Teile-Aktionen" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po index fc37472526..8f8aa4f566 100644 --- a/src/frontend/src/locales/el/messages.po +++ b/src/frontend/src/locales/el/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: el\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Greek\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "Όχι" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Προϊόν" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Προϊόντα" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Προϊόντα Κατασκευαστή" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Κατηγορία Προϊόντος" @@ -261,7 +261,7 @@ msgstr "Κατηγορίες Προϊόντων" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Προϊόντα Αποθέματος" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Τοποθεσία Αποθέματος" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "Το αίτημα έληξε χρονικά" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "Η διαδικασία απέτυχε" @@ -1391,11 +1392,11 @@ msgstr "Απαιτεί Superuser" msgid "This widget requires superuser permissions" msgstr "Αυτό το widget απαιτεί δικαιώματα superuser" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Δεν υπάρχουν νέα" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "Δεν υπάρχουν μη αναγνωσμένα νέα" @@ -1655,7 +1656,7 @@ msgstr "Κωδικός" msgid "Error rendering preview" msgstr "Σφάλμα δημιουργίας προεπισκόπησης" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Η προεπισκόπηση δεν είναι διαθέσιμη, πατήστε \"Επαναφόρτωση προεπισκόπησης\"." @@ -1728,11 +1729,11 @@ msgstr "Αποθήκευση του τρέχοντος προτύπου και #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Επιλέξτε Προϊόν για προεπισκόπηση" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Σφάλμα αποτύπωσης προτύπου" @@ -1829,20 +1830,20 @@ msgstr "Συνδεθήκατε με επιτυχία" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Αποτυχία σύνδεσης" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Ελέγξτε τα στοιχεία σας και προσπαθήστε ξανά." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Το email στάλθηκε με επιτυχία" @@ -2128,6 +2129,7 @@ msgstr "Χωρίς κατηγορία" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Αναζήτηση..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Φόρτωση" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Δεν βρέθηκαν αποτελέσματα" @@ -2247,7 +2250,7 @@ msgstr "Επεξεργασία δεδομένων" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Παρουσιάστηκε σφάλμα" @@ -2925,7 +2928,7 @@ msgstr "Αποσύνδεση" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Πλοήγηση" msgid "About" msgstr "Σχετικά" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "Σφάλμα φόρτωσης του δέντρου πλοήγησης." @@ -5539,7 +5546,7 @@ msgstr "Εσωτερικό σφάλμα διακομιστή" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Αποσυνδεθήκατε" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "Δεν υπάρχει απόκριση από τον διακομιστή." - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "Δεν υπάρχει απόκριση από τον διακομιστή." + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "Επιτυχής σύνδεση με MFA" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "Οι λεπτομέρειες MFA παρέχθηκαν αυτόματα από τον browser" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Αποσυνδεθήκατε με επιτυχία" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "Η γλώσσα άλλαξε" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "Η ενεργή γλώσσα σας άλλαξε σε αυτή που έχει οριστεί στο προφίλ σας" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "Το θέμα άλλαξε" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "Το ενεργό θέμα άλλαξε σε αυτό που έχει οριστεί στο προφίλ σας" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Ελέγξτε τα εισερχόμενά σας για τον σύνδεσμο επαναφοράς. Λειτουργεί μόνο αν έχετε λογαριασμό. Ελέγξτε και στα spam." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Η επαναφορά απέτυχε" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "Ήδη συνδεδεμένος" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "Υπάρχει αντικρουόμενη συνεδρία στον διακομιστή για αυτόν τον browser. Παρακαλώ αποσυνδεθείτε πρώτα από αυτή." -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Συνδεθήκατε" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Συνδεθήκατε με επιτυχία" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "Αποτυχία ρύθμισης MFA" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Ο κωδικός ορίστηκε" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Ο κωδικός ορίστηκε με επιτυχία. Μπορείτε πλέον να συνδεθείτε με τον νέο σας κωδικό" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "Ο κωδικός δεν μπόρεσε να αλλάξει" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "Οι δύο πεδία κωδικού δεν ταιριάζουν" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Ο κωδικός άλλαξε" @@ -8347,11 +8354,11 @@ msgstr "Αναζήτηση με σειριακό αριθμό" msgid "Part Actions" msgstr "Ενέργειες Προϊόντος" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po index 870b491dea..4d0fe8da76 100644 --- a/src/frontend/src/locales/en/messages.po +++ b/src/frontend/src/locales/en/messages.po @@ -142,7 +142,7 @@ msgstr "No" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -161,7 +161,7 @@ msgstr "Part" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Parts" @@ -237,7 +237,7 @@ msgid "Manufacturer Parts" msgstr "Manufacturer Parts" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Part Category" @@ -256,7 +256,7 @@ msgstr "Part Categories" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -278,7 +278,7 @@ msgstr "Stock Items" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Stock Location" @@ -639,14 +639,14 @@ msgstr "Selection Entries" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -718,6 +718,7 @@ msgstr "The request timed out" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "Process failed" @@ -1386,11 +1387,11 @@ msgstr "Requires Superuser" msgid "This widget requires superuser permissions" msgstr "This widget requires superuser permissions" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "No News" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "There are no unread news items" @@ -1650,7 +1651,7 @@ msgstr "Code" msgid "Error rendering preview" msgstr "Error rendering preview" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Preview not available, click \"Reload Preview\"." @@ -1723,11 +1724,11 @@ msgstr "Save the current template and reload the preview" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Select instance to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Error rendering template" @@ -1824,20 +1825,20 @@ msgstr "Logged in successfully" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Login failed" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Check your input and try again." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Mail delivery successful" @@ -2123,6 +2124,7 @@ msgstr "Uncategorized" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Search..." @@ -2148,6 +2150,7 @@ msgid "Loading" msgstr "Loading" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "No results found" @@ -2242,7 +2245,7 @@ msgstr "Processing Data" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "An error occurred" @@ -2920,7 +2923,7 @@ msgstr "Logout" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2966,7 +2969,11 @@ msgstr "Navigation" msgid "About" msgstr "About" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "Clear search" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "Error loading navigation tree." @@ -5534,7 +5541,7 @@ msgstr "Internal server error" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Logged Out" @@ -5546,97 +5553,97 @@ msgstr "There was a conflicting session for this browser, which has been logged #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "No response from server." - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "No response from server." + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "MFA Login successful" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "MFA details were automatically provided in the browser" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Successfully logged out" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "Language changed" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "Your active language has been changed to the one set in your profile" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "Theme changed" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "Your active theme has been changed to the one set in your profile" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Check your inbox for a reset link. This only works if you have an account. Check in spam too." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Reset failed" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "Already logged in" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "There is a conflicting session on the server for this browser. Please logout of that first." -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Logged In" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Successfully logged in" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "Failed to set up MFA" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "MFA Setup successful" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "MFA via TOTP has been set up successfully; you will need to login again." -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Password set" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "The password was set successfully. You can now login with your new password" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "Password could not be changed" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "The two password fields didn’t match" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Password Changed" @@ -8342,11 +8349,11 @@ msgstr "Search by serial number" msgid "Part Actions" msgstr "Part Actions" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "Part locked" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "Part unlocked" diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po index 2cd3316219..1424ab45b3 100644 --- a/src/frontend/src/locales/es/messages.po +++ b/src/frontend/src/locales/es/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: es\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "No" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Pieza" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Piezas" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Piezas del fabricante" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Categoría de Pieza" @@ -261,7 +261,7 @@ msgstr "Categorías de Pieza" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Artículos de Stock" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Ubicación de existencias" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "La solicitud ha expirado" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "Requiere Superusuario" msgid "This widget requires superuser permissions" msgstr "Este widget requiere permisos de superusuario" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Sin noticias" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "No hay noticias sin leer" @@ -1655,7 +1656,7 @@ msgstr "Código" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Vista previa no disponible, haga clic en \"Recargar vista previa\"." @@ -1728,11 +1729,11 @@ msgstr "Guardar la plantilla actual y recargar la vista previa" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Seleccione la instancia a previsualizar" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Error al renderizar plantilla" @@ -1829,20 +1830,20 @@ msgstr "Se ha iniciado sesión con éxito" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Error al iniciar sesión" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Verifique su entrada e intente nuevamente." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Envío de correo exitoso" @@ -2128,6 +2129,7 @@ msgstr "No clasificado" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Búsqueda..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Cargando" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "No hay resultados" @@ -2247,7 +2250,7 @@ msgstr "Procesando datos" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Se ha producido un error" @@ -2925,7 +2928,7 @@ msgstr "Cerrar sesión" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Navegación" msgid "About" msgstr "Acerca de" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "Error interno del servidor" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Desconectado" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Se cerró sesión correctamente" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Restablecimiento fallido" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "Ya iniciaste sesión" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Conectado" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Sesión iniciada correctamente" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Contraseña establecida" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "La contraseña fue establecida con éxito. Ahora puede iniciar sesión con su nueva contraseña" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/es_MX/messages.po b/src/frontend/src/locales/es_MX/messages.po index 47f9f314ee..d86042f6e3 100644 --- a/src/frontend/src/locales/es_MX/messages.po +++ b/src/frontend/src/locales/es_MX/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: es_MX\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "No" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Pieza" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Piezas" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Piezas del fabricante" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Categoría de Pieza" @@ -261,7 +261,7 @@ msgstr "Categorías de Pieza" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Artículos de Stock" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Ubicación de almacén" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "La solicitud ha expirado" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "Proceso fallido" @@ -1391,11 +1392,11 @@ msgstr "Requiere Superusuario" msgid "This widget requires superuser permissions" msgstr "Este widget requiere permisos de superusuario" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Sin noticias" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "No hay noticias sin leer" @@ -1655,7 +1656,7 @@ msgstr "Código" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Vista previa no disponible, haga clic en \"Recargar vista previa\"." @@ -1728,11 +1729,11 @@ msgstr "Guardar la plantilla actual y recargar la vista previa" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Seleccione la instancia a previsualizar" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Error al renderizar plantilla" @@ -1829,20 +1830,20 @@ msgstr "Se ha iniciado sesión con éxito" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Error al iniciar sesión" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Verifique su entrada e intente nuevamente." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Envío de correo exitoso" @@ -2128,6 +2129,7 @@ msgstr "No clasificado" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Búsqueda..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Cargando" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "No hay resultados" @@ -2247,7 +2250,7 @@ msgstr "Procesando datos" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Se ha producido un error" @@ -2925,7 +2928,7 @@ msgstr "Cerrar sesión" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Navegación" msgid "About" msgstr "Acerca de" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "Error interno del servidor" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Desconectado" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Se cerró sesión correctamente" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Revisa tu bandeja de entrada para un enlace de restablecimiento. Esto solo funciona si tienes una cuenta. Revisa el correo no deseado también." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Restablecimiento fallido" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "Ya iniciaste sesión" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "Hay una sesión en conflicto en el servidor para este navegador. Por favor, cierra la sesión primero." -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Conectado" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Sesión iniciada correctamente" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "Error al configurar MFA" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Contraseña establecida" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "La contraseña fue establecida con éxito. Ahora puede iniciar sesión con su nueva contraseña" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "No se ha podido cambiar la contraseña" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Contraseña Cambiada" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/et/messages.po b/src/frontend/src/locales/et/messages.po index 09bb2085b1..a927043ada 100644 --- a/src/frontend/src/locales/et/messages.po +++ b/src/frontend/src/locales/et/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: et\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Estonian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "Ei" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Osa" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Osad" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Osa kategooria" @@ -261,7 +261,7 @@ msgstr "Osa kategooriad" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Lao asukoht" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "Viimane päring aegus" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "Töötlemine ebaõnnestus" @@ -1391,11 +1392,11 @@ msgstr "Nõuab superkasutajat" msgid "This widget requires superuser permissions" msgstr "See vidin nõuab superkasutaja õiguseid" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Uudiseid pole" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "Lugemata uudiseid pole" @@ -1655,7 +1656,7 @@ msgstr "Kood" msgid "Error rendering preview" msgstr "Viga eelvaate loomisel" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Eelvaade pole saadaval, klõpsake \"Laadi eelvaade uuesti\"." @@ -1728,11 +1729,11 @@ msgstr "Salvesta praegune mall ja laadi eelvaade uuesti" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Vali eelvaate jaoks eksemplar" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Malli renderdamisel tekkis viga" @@ -1829,20 +1830,20 @@ msgstr "Sisselogimine õnnestus" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Sisselogimine ebaõnnestus" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Kontrollige oma sisestust ja proovige uuesti." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "E-kirja kohaletoimetamine õnnestus" @@ -2128,6 +2129,7 @@ msgstr "Liigitamata" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Otsing..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Laadimine" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Tulemusi pole" @@ -2247,7 +2250,7 @@ msgstr "Andmete töötlemine" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Ilmnes viga" @@ -2925,7 +2928,7 @@ msgstr "Logi välja" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Navigeerimine" msgid "About" msgstr "Teave" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "Sisemise serveri viga" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Edukalt välja logitud" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "Keel on muudetud" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "Teema on muudetud" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Kontrollige oma postkasti lähtestamise lingi jaoks. See toimib ainult siis, kui teil on konto. Vaadake ka rämpsposti." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Parool määrati edukalt. Nüüd saate sisse logida oma uue parooliga" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Parool on muudetud" @@ -8347,11 +8354,11 @@ msgstr "Otsi seerianumbri järgi" msgid "Part Actions" msgstr "Osa toimingud" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index 93bea9279a..922b9c851b 100644 --- a/src/frontend/src/locales/fa/messages.po +++ b/src/frontend/src/locales/fa/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fa\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Persian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "" @@ -261,7 +261,7 @@ msgstr "" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -1728,11 +1729,11 @@ msgstr "" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "" @@ -1829,20 +1830,20 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "" #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "" @@ -2128,6 +2129,7 @@ msgstr "" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "" @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "" @@ -2247,7 +2250,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "" @@ -2925,7 +2928,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po index 063e372059..c9a06014cc 100644 --- a/src/frontend/src/locales/fi/messages.po +++ b/src/frontend/src/locales/fi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "" @@ -261,7 +261,7 @@ msgstr "" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -1728,11 +1729,11 @@ msgstr "" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "" @@ -1829,20 +1830,20 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "" #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "" @@ -2128,6 +2129,7 @@ msgstr "" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "" @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "" @@ -2247,7 +2250,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "" @@ -2925,7 +2928,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index 863f9476ef..acfcb8b0ca 100644 --- a/src/frontend/src/locales/fr/messages.po +++ b/src/frontend/src/locales/fr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -147,7 +147,7 @@ msgstr "Non" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Pièce" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Composants" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Pièces du fabricant" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Catégorie de composant" @@ -261,7 +261,7 @@ msgstr "Catégories de composants" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Articles en stock" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Emplacement du stock" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "La requête a expiré" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "Processus échoué" @@ -1391,11 +1392,11 @@ msgstr "Nécessite un super-utilisateur" msgid "This widget requires superuser permissions" msgstr "Ce gadget nécessite des permissions de super-utilisateur" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Pas d'actualités" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "Il n'y a pas d'actualités non lues" @@ -1655,7 +1656,7 @@ msgstr "Code" msgid "Error rendering preview" msgstr "Impossible d'afficher l'aperçu" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Aperçu non disponible, cliquez sur \"Recharger l'aperçu\"." @@ -1728,11 +1729,11 @@ msgstr "Enregistrer le modèle actuel et recharger l'aperçu" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Sélectionner l'instance à prévisualiser" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Erreur de rendu du modèle" @@ -1829,20 +1830,20 @@ msgstr "Connexion réussie" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Login invalide" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Vérifiez votre saisie et réessayez." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Envoi du mail réussi" @@ -2128,6 +2129,7 @@ msgstr "Non catégorisé" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Rechercher..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Chargement" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Aucun résultat trouvé" @@ -2247,7 +2250,7 @@ msgstr "Traitement des données" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Une erreur s'est produite" @@ -2925,7 +2928,7 @@ msgstr "Se déconnecter" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Navigation" msgid "About" msgstr "À propos" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "Impossible de charger l'arbre de navigation." @@ -5539,7 +5546,7 @@ msgstr "Erreur de serveur interne" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Déconnexion" @@ -5551,97 +5558,97 @@ msgstr "Il y a eu une session en conflit pour ce navigateur, qui a été déconn #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "Aucune réponse du serveur." - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "Aucune réponse du serveur." + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "Connections réussie via MFA" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "Les informations pour la MFA ont été automatiquement fournis par le navigateur" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Déconnexion réussie !" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "Langue changée" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "Votre langue active a été remplacée en celle qui est définie dans votre profil" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "Thème changé" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "Votre thème actif a été remplacé par celui défini dans votre profil" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Vérifiez votre boîte de réception pour un lien de réinitialisation. Cela ne fonctionne que si vous avez un compte. Vérifiez également dans le spam." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Échec de la réinitialisation" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "Déjà connecté" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "Il y a un conflit de session sur ce serveur pour ce navigateur. Veuillez d'abord vous déconnecter." -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Connecté" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Vous êtes connecté(e)" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "Échec de la mise en place de l'AMF" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Mot de passe défini" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Votre mot de passe a été modifié avec succès. Vous pouvez maintenant vous connecter avec votre nouveau mot de passe" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "Le mot de passe n'a pas pu être changé" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "Les deux mots de passes ne corrspondent pas" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Mot de passe changé" @@ -8347,11 +8354,11 @@ msgstr "Rechercher par numéro de série" msgid "Part Actions" msgstr "Actions sur les pièces" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po index d36b587a53..4518b54857 100644 --- a/src/frontend/src/locales/he/messages.po +++ b/src/frontend/src/locales/he/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: he\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" @@ -147,7 +147,7 @@ msgstr "לא" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "פריט" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "פריטים" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "קטגוריית פריט" @@ -261,7 +261,7 @@ msgstr "קטגוריית פריטים" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "פריטים במלאי" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "מיקום מלאי" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "קוד" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "תצוגה מקדימה אינה זמינה, לחץ/י \"טען מחדש תצוגה מקדימה\". " @@ -1728,11 +1729,11 @@ msgstr "שמור את התבנית הנוכחית וטען מחדש את התצ #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "בחר מופע לתצוגה מקדימה" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "שגיאה בעיבוד התבנית" @@ -1829,20 +1830,20 @@ msgstr "התחברת בהצלחה" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "הכניסה נכשלה" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "בדוק את הקלט שלך ונסה שוב." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "הדואר נשלח בהצלחה" @@ -2128,6 +2129,7 @@ msgstr "לא מסווג" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "חפש..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "טוען" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "לא נמצאו תוצאות" @@ -2247,7 +2250,7 @@ msgstr "מעבד נתונים" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "אירעה שגיאה" @@ -2925,7 +2928,7 @@ msgstr "התנתק" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "ניווט" msgid "About" msgstr "אודות" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po index 57ecd325bf..9c3ac6b70a 100644 --- a/src/frontend/src/locales/hi/messages.po +++ b/src/frontend/src/locales/hi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: hi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "" @@ -261,7 +261,7 @@ msgstr "" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -1728,11 +1729,11 @@ msgstr "" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "" @@ -1829,20 +1830,20 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "लॉगिन असफल" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "" #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "" @@ -2128,6 +2129,7 @@ msgstr "" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "" @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "" @@ -2247,7 +2250,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "" @@ -2925,7 +2928,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po index 2d014a9a91..6ad134c988 100644 --- a/src/frontend/src/locales/hu/messages.po +++ b/src/frontend/src/locales/hu/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: hu\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "Nem" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Alkatrész" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Alkatrészek" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Gyártói alkatrészek" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Alkatrész kategória" @@ -261,7 +261,7 @@ msgstr "Alkatrész kategóriák" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Készlet tételek" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Készlet hely" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "A kérés túllépte az időkorlátot" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "A folyamat sikertelen" @@ -1391,11 +1392,11 @@ msgstr "Rendszergazdai jogok szükségesek" msgid "This widget requires superuser permissions" msgstr "Ez a widget főfelhasználói jogosultságokat igényel" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Nincsenek új hírek" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "Nincsenek olvasatlan hírek" @@ -1655,7 +1656,7 @@ msgstr "Kód" msgid "Error rendering preview" msgstr "Hiba az előnézet renderelése során" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Előnézet nem elérhető, kattintson az \"Előnézet Frissítés\"-re." @@ -1728,11 +1729,11 @@ msgstr "Aktuális sablon elmentése és előnézet frissítése" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Az előnézet példány kiválasztása" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Hiba a sablon megjelenítésekor" @@ -1829,20 +1830,20 @@ msgstr "Sikeres bejelentkezés" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Belépés sikertelen" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Ellenőrizd amit beírtál és próbáld újra." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Levél kézbesítése sikeres" @@ -2128,6 +2129,7 @@ msgstr "Kategorizálatlan" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Keresés..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Betöltés" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Nincs találat" @@ -2247,7 +2250,7 @@ msgstr "Adatok feldolgozása" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Hiba történt" @@ -2925,7 +2928,7 @@ msgstr "Kijelentkezés" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Navigáció" msgid "About" msgstr "Névjegy" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "Navigációs fát nem sikerült betölteni." @@ -5539,7 +5546,7 @@ msgstr "Belső szerverhiba" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Kijelentkezve" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "Nincs válasz a szervertől." - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "Nincs válasz a szervertől." + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "MFA alapú bejelentkezés sikeres" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "Az MFA adatok automatikusan megadásra kerültek a böngészőben" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Sikeresen kijelentkeztél" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "Nyelv megváltoztatva" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "Az aktív nyelv megváltozott a profilban beállítottra" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "A téma megváltoztatva" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "Az aktív téma megváltozott a profilban beállítottra" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Nézd meg a beérkező levelek mappájában a visszaállítási linket. Ez csak akkor működik, ha van fiókod. Ellenőrizd a spameket is." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Visszaállítás sikertelen" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "Már bejelentkezett" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "Egy ütköző munkamenet található a szerveren ehhez a böngészőhöz. Kérjük előbb jelentkezzen ki abból." -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Bejelentkezve" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Sikeres bejelentkezés" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "MFA beállítása sikertelen" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Jelszó beállítva" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "A jelszó beállítása sikeresen megtörtént. Most már bejelentkezhetsz az új jelszavaddal" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "A jelszót nem lehet megváltoztatni" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "A két jelszó nem egyezett meg" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Jelszó megváltozott" @@ -8347,11 +8354,11 @@ msgstr "Sorozatszámra keresés" msgid "Part Actions" msgstr "Alkatrész műveletek" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/id/messages.po b/src/frontend/src/locales/id/messages.po index 3592a4e8b7..19c1ef2e55 100644 --- a/src/frontend/src/locales/id/messages.po +++ b/src/frontend/src/locales/id/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: id\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -147,7 +147,7 @@ msgstr "Tidak" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "" @@ -261,7 +261,7 @@ msgstr "" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "Kode" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -1728,11 +1729,11 @@ msgstr "" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "" @@ -1829,20 +1830,20 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Gagal Login" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "" #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "" @@ -2128,6 +2129,7 @@ msgstr "Tidak terkategori" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Cari..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Memuat" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Tidak ada hasil yang ditemukan" @@ -2247,7 +2250,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "" @@ -2925,7 +2928,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "" msgid "About" msgstr "Tentang" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index bacd6896c1..61754b8c66 100644 --- a/src/frontend/src/locales/it/messages.po +++ b/src/frontend/src/locales/it/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: it\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "No" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Articolo" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Articoli" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Articoli Produttore" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Categoria Articolo" @@ -261,7 +261,7 @@ msgstr "Categorie Articolo" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Articoli in magazzino" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Ubicazione articolo" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "La richiesta è scaduta" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "Processo fallito" @@ -1391,11 +1392,11 @@ msgstr "Richiede Superuser" msgid "This widget requires superuser permissions" msgstr "Questo widget richiede i permessi di superuser" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Nessuna notizia" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "Non ci sono notizie non lette" @@ -1655,7 +1656,7 @@ msgstr "Codice" msgid "Error rendering preview" msgstr "Errore nel renderizzare l'anteprima" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Anteprima non disponibile, clicca su \"Ricarica anteprima\"." @@ -1728,11 +1729,11 @@ msgstr "Salva il modello corrente e ricarica l'anteprima" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Selezionare l'istanza da visualizzare in anteprima" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Errore nel visualizzare il modello" @@ -1829,20 +1830,20 @@ msgstr "Accesso effettuato con successo" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Accesso non riuscito" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Controllare i dati inseriti e riprovare." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Spedizione email riuscita" @@ -2128,6 +2129,7 @@ msgstr "Non categorizzato" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Ricerca..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Caricamento" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Nessun risultato trovato" @@ -2247,7 +2250,7 @@ msgstr "Elaborazione dati" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Si è verificato un errore" @@ -2925,7 +2928,7 @@ msgstr "Disconnettiti" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Navigazione" msgid "About" msgstr "Info" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "Errore nel caricare l'albero di navigazione." @@ -5539,7 +5546,7 @@ msgstr "Errore interno del server" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Disconnesso" @@ -5551,97 +5558,97 @@ msgstr "C'è stata una sessione in conflitto per questo browser, che è stato di #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "Nessuna risposta dal server." - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "Nessuna risposta dal server." + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "Login MFA riuscito" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "I dettagli MFA sono stati forniti automaticamente nel browser" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Disconnesso con Successo" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "Lingua cambiata" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "La tua lingua attiva è stata cambiata in quella impostata nel tuo profilo" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "Tema cambiato" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "Il tuo tema attivo è stato cambiato con quello impostato nel tuo profilo" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Controlla la tua casella di posta per un link di reset. Funziona solo se hai un account. Controlla anche lo spam." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Ripristino fallito" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "Già connesso" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "C'è una sessione in conflitto sul server per questo browser. Si prega di disconnettersi prima dalla precedente sessione." -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Accesso effettuato" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Accesso effettuato con successo" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "Impossibile impostare l'MFA" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "Impostazione MFA riuscita" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "MFA tramite TOTP è stato impostato con successo; sarà necessario effettuare nuovamente il login." -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Password impostata" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "La password è stata impostata con successo. Ora puoi accedere con la tua nuova password" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "La password non può essere cambiata" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "Le due password inserite non corrispondono" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Password cambiata" @@ -8347,11 +8354,11 @@ msgstr "Cerca per numero di serie" msgid "Part Actions" msgstr "Azioni articolo" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 082b224b67..55048611d1 100644 --- a/src/frontend/src/locales/ja/messages.po +++ b/src/frontend/src/locales/ja/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ja\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -147,7 +147,7 @@ msgstr "いいえ" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "パーツ" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "パーツ" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "メーカー・パーツ" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "パーツカテゴリ" @@ -261,7 +261,7 @@ msgstr "パーツカテゴリ" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "在庫商品" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "在庫場所" @@ -644,14 +644,14 @@ msgstr "選択エントリ" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "リクエストがタイムアウトしました" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "プロセス失敗" @@ -1391,11 +1392,11 @@ msgstr "管理者権限が必要" msgid "This widget requires superuser permissions" msgstr "このウィジェットには管理者権限が必要です" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "ニュースなし" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "未読のニュースはありません" @@ -1655,7 +1656,7 @@ msgstr "コード" msgid "Error rendering preview" msgstr "プレビューの表示に失敗しました" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "プレビューが表示されない場合は、「プレビューの再読み込み」をクリックしてください。" @@ -1728,11 +1729,11 @@ msgstr "現在のテンプレートを保存し、プレビューを再読み込 #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "プレビューするインスタンスを選択" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "テンプレート描画エラー" @@ -1829,20 +1830,20 @@ msgstr "ログイン成功" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "ログインに失敗しました" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "入力内容を確認し、もう一度やり直してください。" #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "メール送信成功" @@ -2128,6 +2129,7 @@ msgstr "未分類" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "検索…" @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "読み込み中" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "一致するものが見つかりませんでした" @@ -2247,7 +2250,7 @@ msgstr "加工データ" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "エラーが発生しました" @@ -2925,7 +2928,7 @@ msgstr "ログアウト" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "ナビゲーション" msgid "About" msgstr "概要" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "ナビゲーションツリーの読み込み中にエラーが発生しました。" @@ -5539,7 +5546,7 @@ msgstr "内部サーバーエラー" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "ログアウト" @@ -5551,97 +5558,97 @@ msgstr "このブラウザで競合するセッションがあったため、ロ #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "サーバーからの応答がありません。" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "サーバーからの応答がありません。" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "多要素認証ログインに成功しました" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "多要素認証の詳細情報はブラウザに自動的に記録されました" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "ログアウトに成功しました" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "言語変更" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "アクティブ言語がプロフィールで設定した言語に変更されました。" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "テーマ変更" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "アクティブなテーマがプロフィールで設定したものに変更されました。" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "リセットのリンクを受信トレイでご確認ください。これはアカウントを持っている場合にのみ機能します。迷惑メールもチェックしてください。" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "リセット失敗" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "ログイン済み" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "このブラウザのセッションがサーバー上で競合しています。まずそちらからログアウトしてください。" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "ログイン中" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "ログインに成功しました" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "MFAの設定に失敗しました" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "MFA の設定が正常に完了しました" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "TOTP による MFA の設定が正常に完了しました。再度ログインする必要があります。" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "パスワード設定" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "パスワードは正常に設定されました。新しいパスワードでログインできます。" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "パスワードを変更できませんでした" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "2つのパスワードフィールドが一致しませんでした" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "パスワードが変更されました" @@ -8347,11 +8354,11 @@ msgstr "シリアル番号で検索" msgid "Part Actions" msgstr "パートアクション" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po index 25870f013f..fb1663e8b8 100644 --- a/src/frontend/src/locales/ko/messages.po +++ b/src/frontend/src/locales/ko/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ko\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -147,7 +147,7 @@ msgstr "아니요" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "부품" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "부품" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "제조업체 부품" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "부품 카테고리" @@ -261,7 +261,7 @@ msgstr "부품 카테고리 목록" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "재고 품목" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "재고 위치" @@ -644,14 +644,14 @@ msgstr "선택 항목" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "요청 시간이 초과되었습니다." #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "프로세스 실패" @@ -1391,11 +1392,11 @@ msgstr "슈퍼유저 권한 필요" msgid "This widget requires superuser permissions" msgstr "이 위젯에는 수퍼유저 권한이 필요합니다." -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "새 소식 없음" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "읽지 않은 뉴스 항목이 없습니다" @@ -1655,7 +1656,7 @@ msgstr "암호" msgid "Error rendering preview" msgstr "미리보기 렌더링 오류" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "미리보기를 사용할 수 없습니다. \"미리보기 다시 불러오기\"를 클릭하세요" @@ -1728,11 +1729,11 @@ msgstr "현재 템플릿을 저장하고 미리보기를 다시 로드하세요. #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "미리볼 인스턴스 선택" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "템플릿 렌더링 오류" @@ -1829,20 +1830,20 @@ msgstr "성공적으로 로그인되었습니다" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "로그인 실패" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "입력 내용을 확인한 후 다시 시도하세요" #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "메일 전달 성공" @@ -2128,6 +2129,7 @@ msgstr "분류되지 않음" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "찾다..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "불러오는 중" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "결과를 찾을 수 없습니다" @@ -2247,7 +2250,7 @@ msgstr "데이터 처리" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "오류가 발생했습니다" @@ -2925,7 +2928,7 @@ msgstr "로그아웃" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "탐색" msgid "About" msgstr "에 대한" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "탐색 트리를 불러오는 중 오류가 발생했습니다" @@ -5539,7 +5546,7 @@ msgstr "내부 서버 오류" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "로그아웃됨" @@ -5551,97 +5558,97 @@ msgstr "이 브라우저에 충돌하는 세션이 있어 로그아웃되었습 #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "서버에서 응답이 없습니다" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "서버에서 응답이 없습니다" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "MFA 로그인 성공" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "MFA 세부 정보가 브라우저에 자동으로 제공되었습니다." -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "성공적으로 로그아웃되었습니다" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "언어가 변경됨" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "현재 사용 언어가 프로필에 설정된 언어로 변경되었습니다" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "테마가 변경됨" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "현재 사용 테마가 프로필에 설정된 테마로 변경되었습니다" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "받은편지함에서 재설정 링크를 확인하세요. 계정이 있는 경우에만 동작합니다. 스팸함도 확인하세요" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "재설정 실패" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "이미 로그인되어 있습니다." -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "이 브라우저에 대해 서버에 충돌하는 세션이 있습니다. 먼저 해당 세션에서 로그아웃하세요" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "로그인됨" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "성공적으로 로그인되었습니다" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "MFA 설정에 실패했습니다" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "MFA 설정 성공" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "TOTP 기반 MFA가 성공적으로 설정되었습니다. 다시 로그인해야 합니다" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "비밀번호가 설정되었습니다" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "비밀번호가 성공적으로 설정되었습니다. 이제 새로운 비밀번호로 로그인하실 수 있습니다" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "비밀번호를 변경할 수 없습니다." -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "두 개의 비밀번호 필드가 일치하지 않습니다" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "비밀번호가 변경되었습니다." @@ -8347,11 +8354,11 @@ msgstr "시리얼 번호로 검색" msgid "Part Actions" msgstr "부품 작업" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/lt/messages.po b/src/frontend/src/locales/lt/messages.po index e4e97cb05b..8cb1ece968 100644 --- a/src/frontend/src/locales/lt/messages.po +++ b/src/frontend/src/locales/lt/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: lt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Lithuanian\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && (n%100>19 || n%100<11) ? 0 : (n%10>=2 && n%10<=9) && (n%100>19 || n%100<11) ? 1 : n%1!=0 ? 2: 3);\n" @@ -147,7 +147,7 @@ msgstr "Ne" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "" @@ -261,7 +261,7 @@ msgstr "" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -1728,11 +1729,11 @@ msgstr "" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "" @@ -1829,20 +1830,20 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "" #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "" @@ -2128,6 +2129,7 @@ msgstr "" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "" @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "" @@ -2247,7 +2250,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "" @@ -2925,7 +2928,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/lv/messages.po b/src/frontend/src/locales/lv/messages.po index 135ee0cdb4..32afbfaca1 100644 --- a/src/frontend/src/locales/lv/messages.po +++ b/src/frontend/src/locales/lv/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: lv\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" @@ -147,7 +147,7 @@ msgstr "" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "" @@ -261,7 +261,7 @@ msgstr "" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -1728,11 +1729,11 @@ msgstr "" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "" @@ -1829,20 +1830,20 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "" #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "" @@ -2128,6 +2129,7 @@ msgstr "" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "" @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "" @@ -2247,7 +2250,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "" @@ -2925,7 +2928,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index a3847dc986..a23a804b8d 100644 --- a/src/frontend/src/locales/nl/messages.po +++ b/src/frontend/src/locales/nl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: nl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-23 06:29\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "Nee" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Onderdeel" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Onderdelen" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Fabrikant onderdelen" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Onderdeel categorie" @@ -261,7 +261,7 @@ msgstr "Onderdeel categorieën" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Voorraad items" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Voorraad locatie" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "De aanvraag duurde te lang" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "Proces is mislukt" @@ -1391,11 +1392,11 @@ msgstr "Super user vereist" msgid "This widget requires superuser permissions" msgstr "Deze widget vereist super user machtigingen" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Geen nieuwsberichten" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "Er zijn geen ongelezen nieuwsartikelen" @@ -1655,7 +1656,7 @@ msgstr "Code" msgid "Error rendering preview" msgstr "Fout bij weergeven voorbeeld" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Preview niet beschikbaar, klik op \"Herlaad voorbeeld\"." @@ -1728,11 +1729,11 @@ msgstr "Sla de huidige sjabloon op en herlaad de preview" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Selecteer instantie om een voorbeeld te bekijken" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Fout bij laden sjabloon" @@ -1829,20 +1830,20 @@ msgstr "Met succes ingelogd" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Inloggen mislukt" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Controleer uw invoer en probeer het opnieuw." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "E-mail levering gelukt" @@ -2128,6 +2129,7 @@ msgstr "Niet-gecategoriseerd" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Zoeken..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Laden" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Geen resultaten gevonden" @@ -2247,7 +2250,7 @@ msgstr "Gegevens verwerken" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Er is een fout opgetreden" @@ -2925,7 +2928,7 @@ msgstr "Uitloggen" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Navigatie" msgid "About" msgstr "Over" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "Fout bij het laden van de navigatie-structuur." @@ -5539,7 +5546,7 @@ msgstr "Interne serverfout" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Uitgelogd" @@ -5551,97 +5558,97 @@ msgstr "Er was een tegenstrijdige sessie voor deze browser, die is uitgelogd." #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "Geen antwoord van server." - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "Geen antwoord van server." + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "MFA-login succesvol" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "De MFA-gegevens werden automatisch verstrekt in de browser" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Succesvol uitgelogd" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "Taal is gewijzigd" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "Uw actieve taal is gewijzigd naar de gewenste taal in uw profiel" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "Thema gewijzigd" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "Uw actieve thema is gewijzigd naar het thema in uw profiel" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Check uw inbox voor een reset-link. Dit werkt alleen als u een account heeft. Controleer ook in spam box." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Reset is mislukt" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "Is al ingelogd" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "Er is een tegenstrijdige sessie op de server voor deze browser. Meld u eerst af." -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Ingelogd" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Succesvol ingelogd" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "Het instellen van MFA is mislukt" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "MFA-instellingen geslaagd" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "De MFA via TOTP is succesvol ingesteld; u moet opnieuw inloggen." -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Wachtwoord ingesteld" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Het wachtwoord is met succes ingesteld. U kunt nu inloggen met uw nieuwe wachtwoord" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "Wachtwoord kon niet worden gewijzigd" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "De twee wachtwoordvelden komen niet overeen" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Wachtwoord gewijzigd" @@ -8347,11 +8354,11 @@ msgstr "Zoek op serienummer" msgid "Part Actions" msgstr "Acties van onderdeel" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po index ce8dd659db..2e3f4042c5 100644 --- a/src/frontend/src/locales/no/messages.po +++ b/src/frontend/src/locales/no/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: no\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "Nei" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Del" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Deler" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Produsentdeler" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Delkategori" @@ -261,7 +261,7 @@ msgstr "Delkategorier" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Lagervarer" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Lagerplassering" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -1728,11 +1729,11 @@ msgstr "" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "" @@ -1829,20 +1830,20 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Innloggingen mislyktes" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Kontroller inndataene og prøv igjen." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Levering av e-post vellykket" @@ -2128,6 +2129,7 @@ msgstr "" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Søk..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Laster" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Ingen resultater funnet" @@ -2247,7 +2250,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "" @@ -2925,7 +2928,7 @@ msgstr "Logg ut" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Navigasjon" msgid "About" msgstr "Om" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Sjekk innboksen for en nullstillingslenke. Dette fungerer bare hvis du har en konto. Sjekk også i spam." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Tilbakestilling feilet" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Passord angitt" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Passordet er blitt satt. Du kan nå logge inn med ditt nye passord" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Passord endret" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "Delhandlinger" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po index ce7b0499af..f9c71c32e7 100644 --- a/src/frontend/src/locales/pl/messages.po +++ b/src/frontend/src/locales/pl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Polish\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" @@ -147,7 +147,7 @@ msgstr "Nie" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Komponent" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Komponenty" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Części producenta" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Kategoria części" @@ -261,7 +261,7 @@ msgstr "Kategorie części" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Elementy magazynowe" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Lokacja stanu" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "Wymaga uprawnień superużytkownika" msgid "This widget requires superuser permissions" msgstr "Ten element wymaga uprawnień superużytkownika" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Brak wiadomości" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "Brak nieprzeczytanych wiadomości" @@ -1655,7 +1656,7 @@ msgstr "Kod" msgid "Error rendering preview" msgstr "Błąd renderowania podglądu" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Podgląd niedostępny, kliknij \"Odśwież podgląd\"." @@ -1728,11 +1729,11 @@ msgstr "Zapisz bieżący szablon i odśwież podgląd" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Wybierz instancję do podglądu" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Błąd renderowania szablonu" @@ -1829,20 +1830,20 @@ msgstr "Zalogowano pomyślnie" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Logowanie nie powiodło się" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Sprawdź dane i spróbuj ponownie." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Wiadomość dostarczona" @@ -2128,6 +2129,7 @@ msgstr "Bez kategorii" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Szukaj..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Wczytuję" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Nie znaleziono wyników" @@ -2247,7 +2250,7 @@ msgstr "Przetwarzanie danych" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Wystąpił błąd" @@ -2925,7 +2928,7 @@ msgstr "Wyloguj się" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Nawigacja" msgid "About" msgstr "O nas" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Wylogowano" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Zalogowano" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Hasło ustawione" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Hasło zostało ustawione pomyślnie. Możesz teraz zalogować się przy użyciu nowego hasła" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po index 510f259217..c03dafc731 100644 --- a/src/frontend/src/locales/pt/messages.po +++ b/src/frontend/src/locales/pt/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "Não" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Peça" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Peças" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Peças do fabricante" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Categoria da peça" @@ -261,7 +261,7 @@ msgstr "Categorias da Peça" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Itens de Estoque" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Localização de Stock" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "Código" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Pré-visualização não disponível, clique em \"Recarregar Pré-visualização\"." @@ -1729,11 +1730,11 @@ msgstr "Salvar o modelo atual e recarregar a visualização" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Selecionar instância para pré-visualização" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Erro ao renderizar modelo" @@ -1830,20 +1831,20 @@ msgstr "Sessão iniciada com sucesso" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Não foi possível iniciar a sessão" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Verifique suas informações e tente novamente." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Envio bem sucedido" @@ -2129,6 +2130,7 @@ msgstr "" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Pesquisa..." @@ -2154,6 +2156,7 @@ msgid "Loading" msgstr "A carregar" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Nenhum resultado encontrado" @@ -2248,7 +2251,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "" @@ -2926,7 +2929,7 @@ msgstr "Encerrar sessão" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2972,7 +2975,11 @@ msgstr "Navegação" msgid "About" msgstr "Sobre" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5540,7 +5547,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Sessão terminada" @@ -5552,97 +5559,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Sessão terminada com sucesso" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Verifique a sua caixa de entrada com um link para redefinir. Isso só funciona se você já tiver uma conta. Cheque no também no spam." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Falha ao redefinir" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Sessão Iniciada" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Sessão iniciada com êxito" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Palavra-passe definida" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "A senha foi definida com sucesso. Você agora pode fazer login com sua nova senha" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8348,11 +8355,11 @@ msgstr "" msgid "Part Actions" msgstr "Ações da Peça" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/pt_BR/messages.po b/src/frontend/src/locales/pt_BR/messages.po index e65b520361..2feb679aad 100644 --- a/src/frontend/src/locales/pt_BR/messages.po +++ b/src/frontend/src/locales/pt_BR/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-21 21:20\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "Não" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Peça" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Peças" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Peças do fabricante" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Categoria da peça" @@ -261,7 +261,7 @@ msgstr "Categorias de peça" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Itens de estoque" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Localização do estoque" @@ -644,14 +644,14 @@ msgstr "Itens de seleção" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "A solicitação excedeu o tempo" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "Falha no processamento" @@ -1391,11 +1392,11 @@ msgstr "Requer superusuário" msgid "This widget requires superuser permissions" msgstr "Este widget requer permissões de superusuário" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Nenhuma notícia" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "Não há nenhuma notícia não lida" @@ -1655,7 +1656,7 @@ msgstr "Código" msgid "Error rendering preview" msgstr "Erro ao renderizar pré-visualização" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Pré-visualização indisponível, clique em \"Recarregar pré-visualização\"." @@ -1728,11 +1729,11 @@ msgstr "Salvar o modelo atual e recarregar a pré-visualização" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Selecione a instância para pré-visualizar" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Erro ao carregar template" @@ -1829,20 +1830,20 @@ msgstr "Autenticação realizada com sucesso" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Falha ao acessar" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Verifique sua entrada e tente novamente." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Envio de e-mail concluído" @@ -2128,6 +2129,7 @@ msgstr "Sem classificação" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Buscar..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Carregando" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Nenhum resultado encontrado" @@ -2247,7 +2250,7 @@ msgstr "Processando dados" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Ocorreu um erro" @@ -2925,7 +2928,7 @@ msgstr "Sair" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Navegação" msgid "About" msgstr "Sobre" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "Limpar busca" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "Erro ao carregar a árvore de navegação." @@ -5539,7 +5546,7 @@ msgstr "Erro interno do servidor" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Desconectado" @@ -5551,97 +5558,97 @@ msgstr "Havia uma sessão conflitante neste navegador, que foi desconectada." #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "Sem resposta do servidor." - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "Sem resposta do servidor." + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "Login com MFA bem-sucedido" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "Os dados de MFA foram fornecidos automaticamente no navegador" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Deslogado com sucesso" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "Idioma alterado" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "O seu idioma ativo foi alterado para o do seu perfil" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "Tema alterado" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "Seu tema ativo foi alterado para o que foi definido em seu perfil" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Verifique sua caixa de entrada para o link de redefinição. Isso só funciona se você tiver uma conta. cheque no spam também." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "A redefinação falhou" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "Já logado" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "Há uma sessão conflitante no servidor para este navegador. Por favor, faça logout primeiro." -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Logado" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Logado com sucesso" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "Falha ao configurar autenticação de múltiplos fatores" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "Autenticação de múltiplos fatores configurada com sucesso" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "A MFA via TOTP foi configurada com sucesso; você precisará entrar novamente." -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Senha definida" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Sua senha foi alterada com sucesso. agora você pode acessar usando sua nova senha" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "A senha não pode ser alterada" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "As senhas são diferentes" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Senha alterada" @@ -8347,11 +8354,11 @@ msgstr "Buscar por número de série" msgid "Part Actions" msgstr "Ações da peça" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "Peça bloqueada" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "Peça desbloqueada" diff --git a/src/frontend/src/locales/ro/messages.po b/src/frontend/src/locales/ro/messages.po index 39b0585ded..28e73a719b 100644 --- a/src/frontend/src/locales/ro/messages.po +++ b/src/frontend/src/locales/ro/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ro\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" @@ -147,7 +147,7 @@ msgstr "Nu" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Piesă" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Piese" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Piesele Producătorului" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Categorie Piesă" @@ -261,7 +261,7 @@ msgstr "Categorii Piese" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Stochează Articole" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Locația Stocului" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "Acest widget necesită permisiuni superutilizator" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Nicio știre" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "Nu există știri necitite" @@ -1655,7 +1656,7 @@ msgstr "Cod" msgid "Error rendering preview" msgstr "Eroare la redarea previzualizării" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Previzualizare indisponibilă, apăsați \"Reîncărcare previzualizare\"." @@ -1728,11 +1729,11 @@ msgstr "Salvați șablonul curent și reîncărcați previzualizarea" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "" @@ -1829,20 +1830,20 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "" #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "" @@ -2128,6 +2129,7 @@ msgstr "" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "" @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "" @@ -2247,7 +2250,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "" @@ -2925,7 +2928,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Parolă setată" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Parola a fost setată cu succes. Acum vă puteţi autentifica cu noua parolă" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "Nu s-a putut modifica parola" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "Cele două câmpuri de parolă nu se potrivesc" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Parolă schimbată" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index 916d3a2fe5..cf815bd4ce 100644 --- a/src/frontend/src/locales/ru/messages.po +++ b/src/frontend/src/locales/ru/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ru\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Russian\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" @@ -147,7 +147,7 @@ msgstr "Нет" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Деталь" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Детали" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Детали производителей" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Категория детали" @@ -261,7 +261,7 @@ msgstr "Категории деталей" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Складские позиции" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Место хранения" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "Превышено время выполнения запроса" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "Не удалось выполнить процесс" @@ -1391,11 +1392,11 @@ msgstr "Требует прав суперпользователя" msgid "This widget requires superuser permissions" msgstr "Этот виджет требует прав суперпользователя" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Новостей нет" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "Нет непрочитанных новостей" @@ -1655,7 +1656,7 @@ msgstr "Код" msgid "Error rendering preview" msgstr "Ошибка при отрисовке предпросмотра" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Предварительный просмотр недоступен, нажмите \"Перезагрузить предпросмотр\"." @@ -1728,11 +1729,11 @@ msgstr "Сохранить текущий шаблон и обновить пр #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Выберите экземпляр для просмотра" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Ошибка отображения шаблона" @@ -1829,20 +1830,20 @@ msgstr "Вы успешно вошли в систему" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Ошибка входа" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Проверьте введенные данные и повторите попытку." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Отправка почты прошла успешно" @@ -2128,6 +2129,7 @@ msgstr "Без категории" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Поиск..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Загрузка" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Ничего не найдено" @@ -2247,7 +2250,7 @@ msgstr "Обработка данных" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Произошла ошибка" @@ -2925,7 +2928,7 @@ msgstr "Выход" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Панель навигации" msgid "About" msgstr "О проекте" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "Ошибка загрузки дерева навигации." @@ -5539,7 +5546,7 @@ msgstr "Внутренняя ошибка сервера" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Выход" @@ -5551,97 +5558,97 @@ msgstr "Вы уже были авторизованы, старая сессия #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "Нет ответа от сервера." - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "Нет ответа от сервера." + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "Успешный вход с помощью МФА" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "Данные МФА автоматически переданы в браузер" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Успешный выход из системы" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "Язык изменён" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "Язык изменён на заданный в вашем профиле" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "Тема изменена" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "Тема интерфейса изменена на заданную в профиле" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Проверьте свой почтовый ящик, чтобы получить ссылку на сброс. Это работает только в том случае, если у вас есть учетная запись. Проверьте также спам." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Сброс не удался" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "Вход уже выполнен" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "На сервере есть конфликтующие сессии для данного браузера. Пожалуйста, выйдите из системы." -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Войти в систему" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Вход выполнен успешно" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "Не удалось настроить МФА" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "Многофакторная аутентификация настроена успешно" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "Многофакторная аутентификация через TOTP настроена успешно; вам нужно авторизоваться повторно." -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Пароль установлен" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Пароль был установлен успешно. Теперь вы можете войти в систему с новым паролем" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "Пароль не может быть изменён" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "Пароли не совпадают" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Пароль изменен" @@ -8347,11 +8354,11 @@ msgstr "Поиск по серийному номеру" msgid "Part Actions" msgstr "Действия с деталью" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/sk/messages.po b/src/frontend/src/locales/sk/messages.po index de018d89f0..2124406073 100644 --- a/src/frontend/src/locales/sk/messages.po +++ b/src/frontend/src/locales/sk/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sk\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -147,7 +147,7 @@ msgstr "" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "" @@ -261,7 +261,7 @@ msgstr "" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -1728,11 +1729,11 @@ msgstr "" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "" @@ -1829,20 +1830,20 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "" #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "" @@ -2128,6 +2129,7 @@ msgstr "" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "" @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "" @@ -2247,7 +2250,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "" @@ -2925,7 +2928,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po index ea248523fb..40b5dd66dd 100644 --- a/src/frontend/src/locales/sl/messages.po +++ b/src/frontend/src/locales/sl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" @@ -147,7 +147,7 @@ msgstr "" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Del" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Deli" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "" @@ -261,7 +261,7 @@ msgstr "" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -1728,11 +1729,11 @@ msgstr "" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "" @@ -1829,20 +1830,20 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "" #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "" @@ -2128,6 +2129,7 @@ msgstr "" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "" @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "" @@ -2247,7 +2250,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "" @@ -2925,7 +2928,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/sr/messages.po b/src/frontend/src/locales/sr/messages.po index e2c138b199..13593bf877 100644 --- a/src/frontend/src/locales/sr/messages.po +++ b/src/frontend/src/locales/sr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" @@ -147,7 +147,7 @@ msgstr "Ne" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Deo" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Delovi" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Delovi proizvođača" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Kategorija delova" @@ -261,7 +261,7 @@ msgstr "Kategorije delova" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Stavke zaliha" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Lokacija zaliha" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "Isteklo je vreme zahteva" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "Potreban je korisnik sa većim pravom pristupa" msgid "This widget requires superuser permissions" msgstr "Ovaj vidžet zahteva specijalne dozvole" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Nema novosti" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "Nema nepročitanih novosti" @@ -1655,7 +1656,7 @@ msgstr "Kod" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Pregled nije moguć, klikni na \"Ponovo učitaj pregled\"." @@ -1728,11 +1729,11 @@ msgstr "sačuvaj trenutni šablon i ponovo učitaj pregled" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Izaberi instancu za pregled" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Greška prilikom generisanja šablona" @@ -1829,20 +1830,20 @@ msgstr "Uspešno prijavljivanje" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Neuspešna prijava" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Proverite svoj unos i pokušajte ponovno." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Isporuka pošte uspešna" @@ -2128,6 +2129,7 @@ msgstr "Nepoznato" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Pretraži…" @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Učitavanje" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Nema pronađenih rezultata" @@ -2247,7 +2250,7 @@ msgstr "Obrađivanje podataka" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Desila se greška" @@ -2925,7 +2928,7 @@ msgstr "Odjavljivanje" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Navigacija" msgid "About" msgstr "O nama" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "Interna serverska greška" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Odjavljen" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Uspešno ste odjavljeni" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Proverite u primljenoj pošti da li imate link za resetovanje. Proverite i u spamu" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Resetovanje neuspešno" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Ulogovani ste" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Uspešno ste se ulogovali" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Lozinka podešena" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Lozinka je uspešno podešena. Sada se možete prijaviti sa novom lozinkom" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "Lozinku nije bilo moguće promeniti" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Lozinka promenjena" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "Akcije dela" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index 7188f93543..232e43fe2c 100644 --- a/src/frontend/src/locales/sv/messages.po +++ b/src/frontend/src/locales/sv/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sv\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "Nej" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Artkel" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Artiklar" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Tillverkarens artiklar" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Artikel Kategori" @@ -261,7 +261,7 @@ msgstr "Artikelkategorier" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Artikel i lager" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Lagerplats" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Inga nyheter" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "Kod" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Förhandsgranska ej tillgänglig, klicka på \"Ladda om förhandsgranskning\"." @@ -1728,11 +1729,11 @@ msgstr "Spara den aktuella mallen och ladda om förhandsgranskningen" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Välj instans att förhandsgranska" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Fel vid rendering av mall" @@ -1829,20 +1830,20 @@ msgstr "Inloggningen lyckades" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Inloggningen misslyckades" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Kontrollera din inmatning och försök igen." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "E-postleverans lyckad" @@ -2128,6 +2129,7 @@ msgstr "Okategoriserade" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Sök..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Laddar" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Inga resultat hittades" @@ -2247,7 +2250,7 @@ msgstr "Bearbetar data" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Ett fel inträffade" @@ -2925,7 +2928,7 @@ msgstr "Logga ut" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Navigering" msgid "About" msgstr "Om" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Utloggad" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Utloggningen lyckades" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "Tema ändrat" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Kolla din inkorg för en återställningslänk. Detta fungerar bara om du har ett konto. Kontrollera även i skräppost." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Återställningen misslyckades" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "Redan inloggad" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Inloggad" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Inloggning lyckades" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Lösenord sparat!" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Ditt lösenord har sparats. Du kan nu logga in med ditt nya lösenord." -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "Lösenord ändrat" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "Artikel åtgärder" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po index f20f266c33..9780d66034 100644 --- a/src/frontend/src/locales/th/messages.po +++ b/src/frontend/src/locales/th/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: th\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Thai\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -147,7 +147,7 @@ msgstr "" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "" @@ -261,7 +261,7 @@ msgstr "" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -1728,11 +1729,11 @@ msgstr "" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "" @@ -1829,20 +1830,20 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "" #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "" @@ -2128,6 +2129,7 @@ msgstr "" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "" @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "" @@ -2247,7 +2250,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "" @@ -2925,7 +2928,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index c88c3971c2..2c5623022a 100644 --- a/src/frontend/src/locales/tr/messages.po +++ b/src/frontend/src/locales/tr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: tr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -147,7 +147,7 @@ msgstr "Hayır" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Parça" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Parçalar" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Üretici Parçaları" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Parça Kategorisi" @@ -261,7 +261,7 @@ msgstr "Parça Kategorileri" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Stok Kalemleri" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Stok Konumu" @@ -644,14 +644,14 @@ msgstr "Seçim Kayıtları" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "İstek zaman aşımı" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "İşlem başarısız" @@ -1391,11 +1392,11 @@ msgstr "Süper Kullanıcı Gerekir" msgid "This widget requires superuser permissions" msgstr "Bu kart süper kullanıcı izinleri gerektirir" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "Haber yok" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "Burada okunmamış haber yok" @@ -1655,7 +1656,7 @@ msgstr "Kod" msgid "Error rendering preview" msgstr "Önizleme görüntüleme hatası" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Önizleme kullanılamıyor, \"Önizlemeyi Yeniden Yükle\"'ye tıklayın." @@ -1728,11 +1729,11 @@ msgstr "Mevcut şablonu kaydet ve önizlemeyi yeniden yükle" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Önizlenecek örneği seçin" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Şablonu işleme hatası" @@ -1829,20 +1830,20 @@ msgstr "Başarıyla giriş yapıldı" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Giriş başarısız" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Lütfen bilgilerinizi kontrol edin ve yeniden giriş yapın." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "E-posta teslimi başarılı" @@ -2128,6 +2129,7 @@ msgstr "Kategorisiz" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Ara..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Yükleniyor" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Hiçbir şey bulunamadı" @@ -2247,7 +2250,7 @@ msgstr "Veri İşleniyor" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Bir hata oluştu" @@ -2269,7 +2272,7 @@ msgstr "Sütun seçin veya bu alanı yok saymak için boş bırakın." #: src/components/importer/ImporterColumnSelector.tsx:202 msgid "Auto" -msgstr "" +msgstr "Otomatik" #: src/components/importer/ImporterColumnSelector.tsx:305 msgid "Ignore this field" @@ -2297,7 +2300,7 @@ msgstr "İçe Aktarılmış Sütun" #: src/components/importer/ImporterColumnSelector.tsx:340 msgid "Lookup Field" -msgstr "" +msgstr "Arama Alanı" #: src/components/importer/ImporterColumnSelector.tsx:341 msgid "Default Value" @@ -2925,7 +2928,7 @@ msgstr "Çıkış" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Gezinme" msgid "About" msgstr "Hakkında" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "Navigasyon ağacını yükleme hatası." @@ -4053,7 +4060,7 @@ msgstr "Parçayı içe aktarma başarısız oldu: " #: src/components/wizards/ImportPartWizard.tsx:641 msgid "Are you sure, you want to import the supplier and manufacturer part into this part?" -msgstr "" +msgstr "Bu parçaya tedarikçi ve üretici bilgilerini aktarmak istediğinizden emin misiniz?" #: src/components/wizards/ImportPartWizard.tsx:655 msgid "Import" @@ -4061,28 +4068,28 @@ msgstr "İçe aktar" #: src/components/wizards/ImportPartWizard.tsx:692 msgid "Parameters created successfully!" -msgstr "" +msgstr "Parametreler başarıyla oluşturuldu!" #: src/components/wizards/ImportPartWizard.tsx:720 msgid "Failed to create parameters, please fix the errors and try again" -msgstr "" +msgstr "Parametreleri oluşturulamadı, lütfen hataları düzeltip yeniden deneyin" #. placeholder {0}: supplierPart?.supplier #: src/components/wizards/ImportPartWizard.tsx:740 msgid "Part imported successfully from supplier {0}." -msgstr "" +msgstr "Parça, {0} tedarikçisinden başarıyla içe aktarıldı." #: src/components/wizards/ImportPartWizard.tsx:753 msgid "Open Part" -msgstr "" +msgstr "Parçayı Aç" #: src/components/wizards/ImportPartWizard.tsx:760 msgid "Open Supplier Part" -msgstr "" +msgstr "Tedarikçi Parçasını Aç" #: src/components/wizards/ImportPartWizard.tsx:767 msgid "Open Manufacturer Part" -msgstr "" +msgstr "Üretici Parçasını Aç" #: src/components/wizards/ImportPartWizard.tsx:797 #: src/tables/part/PartTable.tsx:499 @@ -4091,11 +4098,11 @@ msgstr "" #: src/components/wizards/ImportPartWizard.tsx:803 msgid "Import Supplier Part" -msgstr "" +msgstr "Tedarikçi Parçası İçe Aktar" #: src/components/wizards/ImportPartWizard.tsx:805 msgid "Search Supplier Part" -msgstr "" +msgstr "Tedarikçi Parçası Ara" #: src/components/wizards/ImportPartWizard.tsx:807 msgid "Confirm import" @@ -4107,19 +4114,19 @@ msgstr "Bitti" #: src/components/wizards/OrderPartsWizard.tsx:75 msgid "Error fetching part requirements" -msgstr "" +msgstr "Parça gereksinimleri alınırken hata oluştu" #: src/components/wizards/OrderPartsWizard.tsx:113 msgid "Requirements" -msgstr "" +msgstr "Gereksinimler" #: src/components/wizards/OrderPartsWizard.tsx:117 msgid "Build Requirements" -msgstr "" +msgstr "Üretim Gereksinimleri" #: src/components/wizards/OrderPartsWizard.tsx:123 msgid "Sales Requirements" -msgstr "" +msgstr "Satış Gereksinimleri" #: src/components/wizards/OrderPartsWizard.tsx:129 #: src/forms/StockForms.tsx:955 @@ -4141,19 +4148,19 @@ msgstr "Stokta" #: src/components/wizards/OrderPartsWizard.tsx:146 #: src/tables/build/BuildLineTable.tsx:409 msgid "Required Quantity" -msgstr "" +msgstr "Gereken Miktar" #: src/components/wizards/OrderPartsWizard.tsx:205 msgid "New Purchase Order" -msgstr "" +msgstr "Yeni Satın Alma Siparişi" #: src/components/wizards/OrderPartsWizard.tsx:207 msgid "Purchase order created" -msgstr "" +msgstr "Satın alma siparişi oluşturuldu" #: src/components/wizards/OrderPartsWizard.tsx:219 msgid "New Supplier Part" -msgstr "" +msgstr "Yeni Tedarikçi Parçası" #: src/components/wizards/OrderPartsWizard.tsx:221 #: src/tables/purchasing/SupplierPartTable.tsx:218 @@ -4163,72 +4170,72 @@ msgstr "Tedarikçi parçası oluşturuldu" #: src/components/wizards/OrderPartsWizard.tsx:249 msgid "Add to Purchase Order" -msgstr "" +msgstr "Satın Alma Siparişine Ekle" #: src/components/wizards/OrderPartsWizard.tsx:261 msgid "Part added to purchase order" -msgstr "" +msgstr "Parça, satın alma siparişine eklendi" #: src/components/wizards/OrderPartsWizard.tsx:306 msgid "Select supplier part" -msgstr "" +msgstr "Tedarikçi parçası seç" #: src/components/wizards/OrderPartsWizard.tsx:326 msgid "Copy supplier part number" -msgstr "" +msgstr "Tedarikçi parça numarasını kopyala" #: src/components/wizards/OrderPartsWizard.tsx:329 msgid "New supplier part" -msgstr "" +msgstr "Yeni tedarikçi parçası" #: src/components/wizards/OrderPartsWizard.tsx:353 msgid "Select purchase order" -msgstr "" +msgstr "Satın alma siparişi seç" #: src/components/wizards/OrderPartsWizard.tsx:367 msgid "New purchase order" -msgstr "" +msgstr "Yeni satın alma siparişi" #: src/components/wizards/OrderPartsWizard.tsx:423 msgid "Add to selected purchase order" -msgstr "" +msgstr "Seçili satın alma siparişine ekle" #: src/components/wizards/OrderPartsWizard.tsx:440 #: src/components/wizards/OrderPartsWizard.tsx:578 msgid "No parts selected" -msgstr "" +msgstr "Hiç parça seçilmedi" #: src/components/wizards/OrderPartsWizard.tsx:441 msgid "No purchaseable parts selected" -msgstr "" +msgstr "Hiç satın alınabilir parça seçilmedi" #: src/components/wizards/OrderPartsWizard.tsx:477 msgid "Parts Added" -msgstr "" +msgstr "Parçalar Eklendi" #: src/components/wizards/OrderPartsWizard.tsx:478 msgid "All selected parts added to a purchase order" -msgstr "" +msgstr "Seçilen tüm parçalar bir satın alma siparişine eklendi" #: src/components/wizards/OrderPartsWizard.tsx:579 msgid "You must select at least one part to order" -msgstr "" +msgstr "Sipariş etmek için en az bir parça seçilmelidir" #: src/components/wizards/OrderPartsWizard.tsx:590 msgid "Supplier part is required" -msgstr "" +msgstr "Tedarikçi parçası gereklidir" #: src/components/wizards/OrderPartsWizard.tsx:594 msgid "Quantity is required" -msgstr "" +msgstr "Miktar gereklidir" #: src/components/wizards/OrderPartsWizard.tsx:607 msgid "Invalid part selection" -msgstr "" +msgstr "Geçersiz parça seçimi" #: src/components/wizards/OrderPartsWizard.tsx:609 msgid "Please correct the errors in the selected parts" -msgstr "" +msgstr "Lütfen seçilen parçalardaki hataları düzeltin" #: src/components/wizards/OrderPartsWizard.tsx:620 #: src/tables/build/BuildLineTable.tsx:885 @@ -4236,7 +4243,7 @@ msgstr "" #: src/tables/sales/SalesOrderLineItemTable.tsx:417 #: src/tables/stock/TransferOrderLineItemTable.tsx:330 msgid "Order Parts" -msgstr "" +msgstr "Parçaları Sipariş Et" #: src/contexts/LanguageContext.tsx:22 #~ msgid "Arabic" @@ -4393,7 +4400,7 @@ msgstr "" #: src/defaults/actions.tsx:41 #: src/defaults/actions.tsx:113 msgid "Hotkeys" -msgstr "" +msgstr "Kısayol tuşları" #: src/defaults/actions.tsx:41 #: src/defaults/links.tsx:118 @@ -4419,7 +4426,7 @@ msgstr "Sunucu Bilgisi" #: src/defaults/actions.tsx:86 #: src/defaults/links.tsx:180 msgid "About this InvenTree instance" -msgstr "" +msgstr "Bu InvenTree örneği hakkında" #: src/defaults/actions.tsx:92 #: src/defaults/links.tsx:164 @@ -4441,47 +4448,47 @@ msgstr "Ana gezinme menüsünü aç" #: src/defaults/actions.tsx:107 msgid "Go to your user settings" -msgstr "" +msgstr "Kullanıcı ayarlarınıza gidin" #: src/defaults/actions.tsx:114 msgid "View a list of available hotkeys" -msgstr "" +msgstr "Kullanılabilir kısayol tuşlarının listesini görüntüle" #: src/defaults/actions.tsx:123 msgid "Import Data" -msgstr "" +msgstr "Veri İçe Aktar" #: src/defaults/actions.tsx:124 msgid "Import data from a file" -msgstr "" +msgstr "Bir dosyadan veri içe aktar" #: src/defaults/actions.tsx:134 msgid "Go to Purchase Orders" -msgstr "" +msgstr "Satın Alma Siparişlerine Git" #: src/defaults/actions.tsx:144 msgid "Go to Sales Orders" -msgstr "" +msgstr "Satış Siparişlerine Git" #: src/defaults/actions.tsx:155 msgid "Go to Transfer Orders" -msgstr "" +msgstr "Aktarım Emirlerine Git" #: src/defaults/actions.tsx:166 msgid "Go to Return Orders" -msgstr "" +msgstr "İade Siparişlerine Git" #: src/defaults/actions.tsx:176 msgid "Scan a barcode or QR code" -msgstr "" +msgstr "Bir barkod veya QR kodu tara" #: src/defaults/actions.tsx:185 msgid "Go to Build Orders" -msgstr "" +msgstr "Üretim Emirlerine Git" #: src/defaults/actions.tsx:194 msgid "Go to System Settings" -msgstr "" +msgstr "Sistem Ayarlarına Git" #: src/defaults/actions.tsx:203 msgid "Go to the Admin Center" @@ -4489,19 +4496,19 @@ msgstr "Yönetim Merkezine Git" #: src/defaults/actions.tsx:212 msgid "Error Logs" -msgstr "" +msgstr "Hata Kayıtları" #: src/defaults/actions.tsx:213 msgid "View error logs for this instance" -msgstr "" +msgstr "Bu örneğe ait hata günlüklerini görüntüle" #: src/defaults/actions.tsx:223 msgid "Manage user accounts" -msgstr "" +msgstr "Kullanıcı hesaplarını yönet" #: src/defaults/actions.tsx:233 msgid "Manage InvenTree plugins" -msgstr "" +msgstr "InvenTree eklentilerini yönet" #: src/defaults/actions.tsx:242 #: src/pages/Index/Settings/AdminCenter/Index.tsx:240 @@ -4512,15 +4519,15 @@ msgstr "Makineler" #: src/defaults/actions.tsx:243 msgid "Manage machines and machine types" -msgstr "" +msgstr "Makineleri ve makine türlerini yönet" #: src/defaults/actions.tsx:253 msgid "Manage report templates" -msgstr "" +msgstr "Rapor şablonlarını yönet" #: src/defaults/actions.tsx:263 msgid "Manage label templates" -msgstr "" +msgstr "Etiket şablonlarını yönet" #: src/defaults/dashboardItems.tsx:29 #~ msgid "Latest Parts" @@ -4564,15 +4571,15 @@ msgstr "" #: src/defaults/defaultHostList.tsx:10 msgid "Local Server" -msgstr "" +msgstr "Yerel Sunucu" #: src/defaults/defaultHostList.tsx:12 msgid "InvenTree Demo" -msgstr "" +msgstr "InvenTree Demo" #: src/defaults/defaultHostList.tsx:14 msgid "Current Server" -msgstr "" +msgstr "Mevcut Sunucu" #: src/defaults/links.tsx:17 #~ msgid "GitHub" @@ -4626,11 +4633,11 @@ msgstr "Sıkça sorulan sorular" #: src/defaults/links.tsx:125 msgid "GitHub Repository" -msgstr "" +msgstr "Github Deposu" #: src/defaults/links.tsx:128 msgid "InvenTree source code on GitHub" -msgstr "" +msgstr "InvenTree'nin Github'daki kaynak kodu" #: src/defaults/links.tsx:134 #~ msgid "Licenses" @@ -4643,11 +4650,11 @@ msgstr "Sistem Bilgisi" #: src/defaults/links.tsx:187 msgid "Licenses for dependencies of the InvenTree software" -msgstr "" +msgstr "InvenTree yazılımının bağımlılıklarının lisansları" #: src/defaults/links.tsx:198 msgid "About the InvenTree Project" -msgstr "" +msgstr "InvenTree Projesi Hakkında" #: src/defaults/menuItems.tsx:7 #~ msgid "Open sourcea" @@ -4767,23 +4774,23 @@ msgstr "" #: src/forms/BomForms.tsx:43 msgid "Required component quantity" -msgstr "" +msgstr "Gerekli bileşen miktarı" #: src/forms/BomForms.tsx:123 msgid "Substitute Part" -msgstr "" +msgstr "Muadil Parça" #: src/forms/BomForms.tsx:140 msgid "Edit BOM Substitutes" -msgstr "" +msgstr "BOM Muadillerini Düzenle" #: src/forms/BomForms.tsx:147 msgid "Add Substitute" -msgstr "" +msgstr "Muadil Ekle" #: src/forms/BomForms.tsx:148 msgid "Substitute added" -msgstr "" +msgstr "Muadil eklendi" #: src/forms/BuildForms.tsx:112 #: src/forms/BuildForms.tsx:217 @@ -4806,7 +4813,7 @@ msgstr "Üretim Çıktısı" #: src/forms/BuildForms.tsx:370 msgid "Quantity to Complete" -msgstr "" +msgstr "Tamamlanacak Miktar" #: src/forms/BuildForms.tsx:372 #: src/forms/BuildForms.tsx:454 @@ -4848,7 +4855,7 @@ msgstr "Üretim Çıktılarını Tamamla" #: src/forms/BuildForms.tsx:452 msgid "Quantity to Scrap" -msgstr "" +msgstr "Hurdaya Ayrılacak Miktar" #: src/forms/BuildForms.tsx:470 #~ msgid "Remove line" @@ -4861,11 +4868,11 @@ msgstr "Üretim Çıktılarını Hurdaya Ayır" #: src/forms/BuildForms.tsx:477 msgid "Selected build outputs will be completed, but marked as scrapped" -msgstr "" +msgstr "Seçili üretim çıktıları tamamlanacak, ancak hurda olarak işaretlenecektir" #: src/forms/BuildForms.tsx:479 msgid "Allocated stock items will be consumed" -msgstr "" +msgstr "Tahsis edilen stok kalemleri tüketilecektir" #: src/forms/BuildForms.tsx:538 #: src/forms/BuildForms.tsx:540 @@ -4874,11 +4881,11 @@ msgstr "Üretim Çıktılarını İptal Et" #: src/forms/BuildForms.tsx:542 msgid "Selected build outputs will be removed" -msgstr "" +msgstr "Seçili üretim çıktıları kaldırılacaktır" #: src/forms/BuildForms.tsx:544 msgid "Allocated stock items will be returned to stock" -msgstr "" +msgstr "Tahsis edilen stok kalemleri stoka iade edilecektir" #: src/forms/BuildForms.tsx:684 #: src/pages/build/BuildDetail.tsx:267 @@ -4921,7 +4928,7 @@ msgstr "Kaynak Konum" #: src/forms/SalesOrderForms.tsx:427 #: src/forms/TransferOrderForms.tsx:225 msgid "Select the source location for the stock allocation" -msgstr "" +msgstr "Stok tahsisi için kaynak konumu seç" #: src/forms/BuildForms.tsx:753 #: src/forms/SalesOrderForms.tsx:468 @@ -4942,7 +4949,7 @@ msgstr "Stoku Tahsis Et" #: src/forms/SalesOrderForms.tsx:473 #: src/forms/TransferOrderForms.tsx:263 msgid "Stock items allocated" -msgstr "" +msgstr "Stok kalemleri tahsis edildi" #: src/forms/BuildForms.tsx:817 #: src/forms/BuildForms.tsx:918 @@ -4963,13 +4970,13 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:934 #: src/tables/stock/TransferOrderTable.tsx:56 msgid "Consume Stock" -msgstr "" +msgstr "Stoku Tüket" #: src/forms/BuildForms.tsx:907 #: src/tables/build/BuildLineTable.tsx:522 #: src/tables/part/PartBuildAllocationsTable.tsx:101 msgid "Fully consumed" -msgstr "" +msgstr "Tümüyle tüketildi" #: src/forms/BuildForms.tsx:952 #: src/tables/build/BuildLineTable.tsx:192 @@ -4979,12 +4986,12 @@ msgstr "Tüketildi" #: src/forms/CommonFields.tsx:16 msgid "Tags for this item" -msgstr "" +msgstr "Bu öge için etiketler" #: src/forms/CommonFields.tsx:17 #: src/tables/Filter.tsx:414 msgid "Select tags" -msgstr "" +msgstr "Etiketleri seç" #: src/forms/CommonForms.tsx:94 #: src/forms/PurchaseOrderForms.tsx:195 @@ -4992,7 +4999,7 @@ msgstr "" #: src/forms/SalesOrderForms.tsx:198 #: src/forms/TransferOrderForms.tsx:95 msgid "Select project code for this line item" -msgstr "" +msgstr "Bu satır ögesi için proje kodu seç" #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" @@ -5013,7 +5020,7 @@ msgstr "Takip ediliyor" #: src/forms/PartForms.tsx:111 msgid "Subscribe to notifications for this part" -msgstr "" +msgstr "Bu parçanın bildirmlerine abone ol" #: src/forms/PartForms.tsx:129 #~ msgid "Part updated" @@ -5025,7 +5032,7 @@ msgstr "Üst parça kategorisi" #: src/forms/PartForms.tsx:245 msgid "Subscribe to notifications for this category" -msgstr "" +msgstr "Bu kategorinin bildirimlerine abone ol" #: src/forms/PurchaseOrderForms.tsx:421 #~ msgid "Assign Batch Code{0}" @@ -5070,7 +5077,7 @@ msgstr "Sanal Parça" #: src/forms/PurchaseOrderForms.tsx:566 msgid "This part is virtual, no physical stock will be received." -msgstr "" +msgstr "Bu parça sanaldır; fiziksel stok teslim alınmayacaktır." #: src/forms/PurchaseOrderForms.tsx:566 #~ msgid "Serial numbers" @@ -5090,7 +5097,7 @@ msgstr "Parti Kodu Ata" #: src/forms/PurchaseOrderForms.tsx:620 msgid "Assign Serial Numbers" -msgstr "" +msgstr "Seri Numaraları Ata" #: src/forms/PurchaseOrderForms.tsx:632 msgid "Set Expiry Date" @@ -5143,7 +5150,7 @@ msgstr "Parti Kodu" #: src/forms/PurchaseOrderForms.tsx:776 msgid "Enter batch code for received items" -msgstr "" +msgstr "Teslim alınan ögeler için parti kodu gir" #: src/forms/PurchaseOrderForms.tsx:789 #: src/forms/StockForms.tsx:224 @@ -5152,7 +5159,7 @@ msgstr "Seri Numaraları" #: src/forms/PurchaseOrderForms.tsx:790 msgid "Enter serial numbers for received items" -msgstr "" +msgstr "Teslim alınan ögeler için seri numaraları gir" #: src/forms/PurchaseOrderForms.tsx:807 #: src/pages/stock/StockDetail.tsx:393 @@ -5162,7 +5169,7 @@ msgstr "Son Kullanma Tarihi" #: src/forms/PurchaseOrderForms.tsx:808 msgid "Enter an expiry date for received items" -msgstr "" +msgstr "Teslim alınan ögeler için bir geçerlilik tarihi gir" #: src/forms/PurchaseOrderForms.tsx:820 #: src/forms/StockForms.tsx:775 @@ -5199,56 +5206,56 @@ msgstr "Kalemleri Teslim Al" #: src/forms/PurchaseOrderForms.tsx:940 msgid "Items received" -msgstr "" +msgstr "Ögeler teslim alındı" #: src/forms/ReturnOrderForms.tsx:261 msgid "Receive Items" -msgstr "" +msgstr "Ögeleri Teslim Al" #: src/forms/ReturnOrderForms.tsx:268 msgid "Item received into stock" -msgstr "" +msgstr "Öge stoka teslim alındı" #. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.' #: src/forms/SalesOrderForms.tsx:190 msgid "Price based on part and quantity differs{0}" -msgstr "" +msgstr "Parça ve miktara göre fiyat farklılık gösterir{0}" #: src/forms/SalesOrderForms.tsx:221 #: src/forms/SalesOrderForms.tsx:223 #: src/tables/sales/SalesOrderShipmentTable.tsx:211 msgid "Check Shipment" -msgstr "" +msgstr "Sevkiyatı Kontrol Et" #: src/forms/SalesOrderForms.tsx:224 msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct" -msgstr "" +msgstr "Gönderiyi “kontrol edildi” olarak işaretlemek, bu gönderide yer alan tüm ürünlerin doğru olduğunu doğruladığınızı gösterir" #: src/forms/SalesOrderForms.tsx:234 msgid "Shipment marked as checked" -msgstr "" +msgstr "Sevkiyat kontrol edildi olarak işaretlendi" #: src/forms/SalesOrderForms.tsx:249 #: src/forms/SalesOrderForms.tsx:251 #: src/tables/sales/SalesOrderShipmentTable.tsx:224 msgid "Uncheck Shipment" -msgstr "" +msgstr "Sevkiyat Kontrolünü İptal Et" #: src/forms/SalesOrderForms.tsx:252 msgid "Marking the shipment as unchecked indicates that the shipment requires further verification" -msgstr "" +msgstr "Sevkiyatı “kontrol edilmemiş” olarak işaretlemek, gönderinin daha fazla doğrulama gerektirdiğini gösterir" #: src/forms/SalesOrderForms.tsx:262 msgid "Shipment marked as unchecked" -msgstr "" +msgstr "Sevkiyat kontrol edilmemiş olarak işaretlendi" #: src/forms/SalesOrderForms.tsx:280 msgid "Completing shipment" -msgstr "" +msgstr "Sevkiyat tamamlanıyor" #: src/forms/SalesOrderForms.tsx:281 msgid "Shipment completed successfully" -msgstr "" +msgstr "Sevkiyat başarıyla tamamlandı" #: src/forms/SalesOrderForms.tsx:288 #: src/tables/sales/SalesOrderShipmentTable.tsx:234 @@ -5257,7 +5264,7 @@ msgstr "Gönderiyi Tamamla" #: src/forms/SalesOrderForms.tsx:534 msgid "Leave blank to use the order address" -msgstr "" +msgstr "Sipariş adresini kullanmak için boş bırakın" #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" @@ -5292,7 +5299,7 @@ msgstr "Stok Kalemi Ekle" #: src/forms/StockForms.tsx:371 msgid "Select the part to install" -msgstr "" +msgstr "Takılacak parçayı seç" #: src/forms/StockForms.tsx:506 msgid "Confirm Stock Transfer" @@ -5300,7 +5307,7 @@ msgstr "Stok Transferini Onayla" #: src/forms/StockForms.tsx:707 msgid "Confirm Stock Return" -msgstr "" +msgstr "Stok İadesini Onayla" #: src/forms/StockForms.tsx:719 msgid "Move to default location" @@ -5316,15 +5323,15 @@ msgstr "Geri Dön" #: src/forms/StockForms.tsx:905 msgid "Merge into existing stock" -msgstr "" +msgstr "Mevcut stokla birleştir" #: src/forms/StockForms.tsx:906 msgid "Merge returned items into existing stock items if possible" -msgstr "" +msgstr "Mümkünse iade edilen kalemleri mevcut stok kalemleri ile birleştir" #: src/forms/StockForms.tsx:912 msgid "Stock transaction notes" -msgstr "" +msgstr "Stok işlem notları" #: src/forms/StockForms.tsx:1043 #: src/pages/Index/Scan.tsx:180 @@ -5342,7 +5349,7 @@ msgstr "Stok Eklendi" #: src/forms/StockForms.tsx:1360 msgid "Increase the quantity of the selected stock items by a given amount." -msgstr "" +msgstr "Seçilen stok kalemlerinin miktarını belirtilen miktarda artır." #: src/forms/StockForms.tsx:1371 #: src/hooks/UseStockAdjustActions.tsx:122 @@ -5355,7 +5362,7 @@ msgstr "Stok Kaldırıldı" #: src/forms/StockForms.tsx:1375 msgid "Decrease the quantity of the selected stock items by a given amount." -msgstr "" +msgstr "Seçilen stok kalemlerinin miktarını belirtilen miktarda azalt." #: src/forms/StockForms.tsx:1386 #: src/hooks/UseStockAdjustActions.tsx:132 @@ -5368,20 +5375,20 @@ msgstr "Stok Transfer Edildi" #: src/forms/StockForms.tsx:1390 msgid "Transfer selected items to the specified location." -msgstr "" +msgstr "Seçilen kalemleri belirtilen konuma aktar." #: src/forms/StockForms.tsx:1401 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" -msgstr "" +msgstr "Stock İade Et" #: src/forms/StockForms.tsx:1402 msgid "Stock returned" -msgstr "" +msgstr "Stok iade edildi" #: src/forms/StockForms.tsx:1405 msgid "Return selected items into stock, to the specified location." -msgstr "" +msgstr "Seçilen kalemleri belirtilen konumdaki stoka iade et." #: src/forms/StockForms.tsx:1416 #: src/hooks/UseStockAdjustActions.tsx:102 @@ -5394,7 +5401,7 @@ msgstr "Stok Sayıldı" #: src/forms/StockForms.tsx:1420 msgid "Count the selected stock items, and adjust the quantity accordingly." -msgstr "" +msgstr "Seçilen stok kalemlerini say ve miktarı ona göre ayarla." #: src/forms/StockForms.tsx:1431 msgid "Change Stock Status" @@ -5406,16 +5413,16 @@ msgstr "Stok Durumu Değişti" #: src/forms/StockForms.tsx:1435 msgid "Change the status of the selected stock items." -msgstr "" +msgstr "Seçilen stok kalemlerinin durumunu değiştir." #: src/forms/StockForms.tsx:1458 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" -msgstr "" +msgstr "Parti Kodunu Değiştir" #: src/forms/StockForms.tsx:1461 msgid "Change batch code for the selected stock items" -msgstr "" +msgstr "Seçilen stok kalemlerinin parti kodunu değiştir" #: src/forms/StockForms.tsx:1478 #: src/hooks/UseStockAdjustActions.tsx:142 @@ -5428,19 +5435,19 @@ msgstr "Stok Birleştirildi" #: src/forms/StockForms.tsx:1481 msgid "Merge Stock Items" -msgstr "" +msgstr "Stok Kalemlerini Birleştir" #: src/forms/StockForms.tsx:1483 msgid "Merge operation cannot be reversed" -msgstr "" +msgstr "Birleştirme işlemi geri alınamaz" #: src/forms/StockForms.tsx:1484 msgid "Tracking information may be lost when merging items" -msgstr "" +msgstr "Kalemleri birleştirirken takip bilgileri kaybolabilir" #: src/forms/StockForms.tsx:1485 msgid "Supplier information may be lost when merging items" -msgstr "" +msgstr "Kalemleri birleştirirken tedarikçi bilgileri kaybolabilir" #: src/forms/StockForms.tsx:1503 msgid "Assign Stock to Customer" @@ -5460,7 +5467,7 @@ msgstr "Stok Silindi" #: src/forms/StockForms.tsx:1518 msgid "This operation will permanently delete the selected stock items." -msgstr "" +msgstr "Bu işlem seçilen stok kalemlerini kalıcı olarak silecektir." #: src/forms/StockForms.tsx:1527 msgid "Parent stock location" @@ -5476,11 +5483,11 @@ msgstr "Eşleşen ürün bulunamadı" #: src/forms/StockForms.tsx:1671 msgid "Multiple matching items" -msgstr "" +msgstr "Birden fazla eşleşen öge" #: src/forms/StockForms.tsx:1680 msgid "Invalid response from server" -msgstr "" +msgstr "Sunucudan geçersiz yanıt" #: src/forms/selectionListFields.tsx:95 #~ msgid "Entries" @@ -5539,111 +5546,111 @@ msgstr "Dahili sunucu hatası" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Çıkış Yapıldı" #: src/functions/auth.tsx:125 msgid "There was a conflicting session for this browser, which has been logged out." -msgstr "" +msgstr "Bu tarayıcı için çakışan bir oturum vardı; bu oturumdan çıkış yapıldı." #: src/functions/auth.tsx:142 #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "Sunucudan yanıt yok." - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "Sunucudan yanıt yok." + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" -msgstr "" +msgstr "MFA girişi başarılı" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" -msgstr "" +msgstr "MFA bilgileri tarayıcıda otomatik olarak girildi" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Başarıyla çıkış yapıldı" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" -msgstr "" +msgstr "Dil değişti" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" -msgstr "" +msgstr "Aktif diliniz, profilinizde ayarlanan dile değiştirildi" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "Tema değişti" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" -msgstr "" +msgstr "Etkin temanız, profilinizde ayarlanan temaya değiştirildi" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Bir sıfırlama bağlantısı için gelen kutunuzu veya spam kutunuzu yoklayın. Bu yalnızca bir hesabınız varsa çalışacaktır." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Sıfırlama başarısız" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "Zaten giriş yapıldı" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." -msgstr "" +msgstr "Sunucuda bu tarayıcıya ait çakışan bir oturum bulunmaktadır. Lütfen önce o oturumdan çıkış yapın." -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Giriş Yapıldı" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Başarıyla giriş yapıldı" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" -msgstr "" +msgstr "MFA kurulamadı" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" -msgstr "" +msgstr "MFA kurulumu başarılı" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." -msgstr "" +msgstr "TOTP yoluyla MFA başarıyla kuruldu; yeniden oturum açmanız gerekecektir." -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Şifre belirlendi" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Şifreniz başarıyla değiştirildi. Artık yeni şifrenizle giriş yapabilirsiniz" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" -msgstr "" +msgstr "Şifre değiştirilemedi" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" -msgstr "" +msgstr "Girilen iki parola aynı değil" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" -msgstr "" +msgstr "Şifre Değişti" #: src/functions/forms.tsx:50 #~ msgid "Form method not provided" @@ -5691,7 +5698,7 @@ msgstr "Ürünler Güncellendi" #: src/hooks/UseForm.tsx:149 msgid "Update multiple items" -msgstr "" +msgstr "Birden çok ögeyi güncelle" #: src/hooks/UseForm.tsx:179 msgid "Item Deleted" @@ -5707,64 +5714,64 @@ msgstr "Bu ögeyi silmek istediğinize emin misiniz?" #: src/hooks/UseRemotePlugin.tsx:102 msgid "Failed to load module: {moduleUrl}" -msgstr "" +msgstr "Modül yüklenemedi: {moduleUrl}" #. placeholder {0}: typeof func #: src/hooks/UseRemotePlugin.tsx:129 msgid "Export {exportName} in {moduleUrl} is not a function (found type {0})." -msgstr "" +msgstr "{moduleUrl} modülündeki '{exportName}' dışa aktarımı bir fonksiyon değil (tespit edilen tür: {0})." #: src/hooks/UseRemotePlugin.tsx:131 msgid "Plugin entrypoint {exportName} does not exist in {moduleUrl}." -msgstr "" +msgstr "{moduleUrl} içinde {exportName} adlı eklenti giriş noktası bulunmuyor." #: src/hooks/UseStockAdjustActions.tsx:104 msgid "Count selected stock items" -msgstr "" +msgstr "Seçili stok kalemlerini say" #: src/hooks/UseStockAdjustActions.tsx:114 msgid "Add to selected stock items" -msgstr "" +msgstr "Seçili stok kalemlerine ekle" #: src/hooks/UseStockAdjustActions.tsx:124 msgid "Remove from selected stock items" -msgstr "" +msgstr "Seçili stok kalemlerinden kaldır" #: src/hooks/UseStockAdjustActions.tsx:134 msgid "Transfer selected stock items" -msgstr "" +msgstr "Seçili stok kalemlerini aktar" #: src/hooks/UseStockAdjustActions.tsx:144 msgid "Merge selected stock items" -msgstr "" +msgstr "Seçili stok kalemlerini birleştir" #: src/hooks/UseStockAdjustActions.tsx:154 msgid "Change status of selected stock items" -msgstr "" +msgstr "Seçili stok kalemlerinin durumunu değiştir" #: src/hooks/UseStockAdjustActions.tsx:164 msgid "Change batch code of selected stock items" -msgstr "" +msgstr "Seçili stok kalemlerinin parti kodunu değiştir" #: src/hooks/UseStockAdjustActions.tsx:172 msgid "Assign Stock" -msgstr "" +msgstr "Stok Ata" #: src/hooks/UseStockAdjustActions.tsx:174 msgid "Assign selected stock items to a customer" -msgstr "" +msgstr "Seçili stok kalemlerini bir müşteriye ata" #: src/hooks/UseStockAdjustActions.tsx:184 msgid "Return selected items into stock" -msgstr "" +msgstr "Seçili kalemleri stoka iade et" #: src/hooks/UseStockAdjustActions.tsx:192 msgid "Delete Stock" -msgstr "" +msgstr "Stoku Sil" #: src/hooks/UseStockAdjustActions.tsx:194 msgid "Delete selected stock items" -msgstr "" +msgstr "Seçili stok kalemlerini sil" #: src/hooks/UseStockAdjustActions.tsx:219 #: src/pages/part/PartDetail.tsx:1095 @@ -5774,39 +5781,39 @@ msgstr "Stok Eylemleri" #: src/pages/Auth/ChangePassword.tsx:32 #: src/pages/Auth/Reset.tsx:14 msgid "Reset Password" -msgstr "" +msgstr "Şifreyi Sıfırla" #: src/pages/Auth/ChangePassword.tsx:46 msgid "Current Password" -msgstr "" +msgstr "Mevcut Şifre" #: src/pages/Auth/ChangePassword.tsx:47 msgid "Enter your current password" -msgstr "" +msgstr "Mevcut şifrenizi girin" #: src/pages/Auth/ChangePassword.tsx:53 msgid "New Password" -msgstr "" +msgstr "Yeni Şifre" #: src/pages/Auth/ChangePassword.tsx:54 msgid "Enter your new password" -msgstr "" +msgstr "Yeni şifrenizi girin" #: src/pages/Auth/ChangePassword.tsx:60 msgid "Confirm New Password" -msgstr "" +msgstr "Yeni Şifreyi Onayla" #: src/pages/Auth/ChangePassword.tsx:61 msgid "Confirm your new password" -msgstr "" +msgstr "Yeni şifrenizi onaylayın" #: src/pages/Auth/ChangePassword.tsx:80 msgid "Confirm" -msgstr "" +msgstr "Onayla" #: src/pages/Auth/Layout.tsx:59 msgid "Log off" -msgstr "" +msgstr "Oturumu kapat" #: src/pages/Auth/LoggedIn.tsx:19 msgid "Checking if you are already logged in" @@ -5830,7 +5837,7 @@ msgstr "Giriş" #: src/pages/Auth/Login.tsx:113 msgid "Logging you in" -msgstr "" +msgstr "Oturumunuz açılıyor" #: src/pages/Auth/Login.tsx:120 msgid "Don't have an account?" @@ -5852,36 +5859,36 @@ msgstr "Bir hesabınız yok mu?" #: src/pages/Auth/MFA.tsx:29 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86 msgid "Multi-Factor Authentication" -msgstr "" +msgstr "Çok Aşamalı Kimlik Doğrulama" #: src/pages/Auth/MFA.tsx:33 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219 msgid "TOTP Code" -msgstr "" +msgstr "TOTP Kodu" #: src/pages/Auth/MFA.tsx:35 msgid "Enter one of your codes: {mfa_types}" -msgstr "" +msgstr "Kodlarınızdan birini girin: {mfa_types}" #: src/pages/Auth/MFA.tsx:42 msgid "Remember this device" -msgstr "" +msgstr "Bu cihazı hatırla" #: src/pages/Auth/MFA.tsx:44 msgid "If enabled, you will not be asked for MFA on this device for 30 days." -msgstr "" +msgstr "Etkinleştirilirse, bu cihazda 30 gün boyunca MFA istenmeyecektir." #: src/pages/Auth/MFA.tsx:53 msgid "Log in" -msgstr "" +msgstr "Oturum aç" #: src/pages/Auth/MFASetup.tsx:23 msgid "MFA Setup Required" -msgstr "" +msgstr "MFA Kurulumu Gerekli" #: src/pages/Auth/MFASetup.tsx:34 msgid "Add TOTP" -msgstr "" +msgstr "TOTP Ekle" #: src/pages/Auth/Register.tsx:23 msgid "Go back to login" @@ -5895,11 +5902,11 @@ msgstr "Giriş yapma ekranına geri dön" #: src/pages/Auth/ResetPassword.tsx:22 #: src/pages/Auth/VerifyEmail.tsx:19 msgid "Key invalid" -msgstr "" +msgstr "Anahtar geçersiz" #: src/pages/Auth/ResetPassword.tsx:23 msgid "You need to provide a valid key to set a new password. Check your inbox for a reset link." -msgstr "" +msgstr "Yeni bir şifre belirlemek için geçerli bir anahtar sağlamanız gerekir. Bir sıfırlama bağlantısı için gelen kutunuzu kontrol edin." #: src/pages/Auth/ResetPassword.tsx:30 #~ msgid "Token invalid" @@ -5915,11 +5922,11 @@ msgstr "Yeni şifre belirle" #: src/pages/Auth/ResetPassword.tsx:35 msgid "The desired new password" -msgstr "" +msgstr "İstenen yeni şifre" #: src/pages/Auth/ResetPassword.tsx:44 msgid "Send Password" -msgstr "" +msgstr "Şifre Gönder" #: src/pages/Auth/Set-Password.tsx:49 #~ msgid "No token provided" @@ -5931,15 +5938,15 @@ msgstr "" #: src/pages/Auth/VerifyEmail.tsx:20 msgid "You need to provide a valid key." -msgstr "" +msgstr "Geçerli bir anahtar girmeniz gerekmektedir." #: src/pages/Auth/VerifyEmail.tsx:28 msgid "Verify Email" -msgstr "" +msgstr "E-Postayı Doğrula" #: src/pages/Auth/VerifyEmail.tsx:30 msgid "Verify" -msgstr "" +msgstr "Doğrula" #. placeholder {0}: error.statusText #: src/pages/ErrorPage.tsx:16 @@ -6104,19 +6111,19 @@ msgstr "Beklenmeyen bir hata oluştu" #: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" -msgstr "" +msgstr "Ürün zaten taranmış" #: src/pages/Index/Scan.tsx:80 msgid "API Error" -msgstr "" +msgstr "API Hatası" #: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" -msgstr "" +msgstr "Örnek verileri alınamadı" #: src/pages/Index/Scan.tsx:128 msgid "Scan Error" -msgstr "" +msgstr "Tarama Hatası" #: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" @@ -6128,7 +6135,7 @@ msgstr "Birden çok nesne türü seçildi" #: src/pages/Index/Scan.tsx:175 msgid "Actions ... " -msgstr "" +msgstr "İşlemler ... " #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." @@ -6137,11 +6144,11 @@ msgstr "" #: src/pages/Index/Scan.tsx:192 #: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" -msgstr "" +msgstr "Barkod Tarama" #: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" -msgstr "" +msgstr "Barkod Girişi" #: src/pages/Index/Scan.tsx:212 msgid "Action" @@ -6149,11 +6156,11 @@ msgstr "Eylem" #: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" -msgstr "" +msgstr "Hiç Öge Seçilmedi" #: src/pages/Index/Scan.tsx:216 msgid "Scan and select items to perform actions" -msgstr "" +msgstr "İşlem gerçekleştirmek için ögeleri tarayın ve seçin" #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" @@ -6170,7 +6177,7 @@ msgstr "{0} öge seçildi" #: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" -msgstr "" +msgstr "Taranan Ögeler" #: src/pages/Index/Scan.tsx:276 #~ msgid "Actions for {0}" @@ -6272,7 +6279,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:33 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:113 msgid "Edit Account Information" -msgstr "" +msgstr "Hesap Bilgilerini Düzenle" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:34 #~ msgid "User details updated" @@ -6280,7 +6287,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:37 msgid "Account details updated" -msgstr "" +msgstr "Hesap bilgileri güncellendi" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:46 #~ msgid "User Actions" @@ -6293,7 +6300,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:55 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:136 msgid "Edit Profile Information" -msgstr "" +msgstr "Profil Bilgilerini Düzenle" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:55 #~ msgid "Last name" @@ -6309,7 +6316,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:59 msgid "Profile details updated" -msgstr "" +msgstr "Profil bilgileri güncellendi" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:61 #~ msgid "Last name: {0}" @@ -6346,25 +6353,25 @@ msgstr "Adı Görüntüle" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:86 #: src/pages/core/UserDetail.tsx:127 msgid "Position" -msgstr "" +msgstr "Pozisyon" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967 msgid "Type" -msgstr "" +msgstr "Tür" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:91 #: src/pages/core/UserDetail.tsx:143 msgid "Organisation" -msgstr "" +msgstr "Kuruluş" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:92 msgid "Primary Group" -msgstr "" +msgstr "Birincil Grup" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:104 msgid "Account Details" -msgstr "" +msgstr "Hesap Bilgileri" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:107 msgid "Account Actions" @@ -6377,11 +6384,11 @@ msgstr "Hesabı Düzenle" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:117 #: src/tables/settings/UserTable.tsx:323 msgid "Change Password" -msgstr "" +msgstr "Şifreyi Değiştir" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:119 msgid "Change User Password" -msgstr "" +msgstr "Kullanıcı Şifresini Değiştir" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:131 msgid "Profile Details" @@ -6389,7 +6396,7 @@ msgstr "Profil Ayrıntıları" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:134 msgid "Edit Profile" -msgstr "" +msgstr "Profili Düzenle" #. placeholder {0}: item.label #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:153 @@ -6616,15 +6623,15 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/QrRegistrationForm.tsx:27 msgid "Secret" -msgstr "" +msgstr "Sır" #: src/pages/Index/Settings/AccountSettings/QrRegistrationForm.tsx:40 msgid "One-Time Password" -msgstr "" +msgstr "Tek Kullanımlık Şifre" #: src/pages/Index/Settings/AccountSettings/QrRegistrationForm.tsx:41 msgid "Enter the TOTP code to ensure it registered correctly" -msgstr "" +msgstr "Doğru şekilde kaydedildiğinden emin olmak için TOTP kodunu girin" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55 #~ msgid "Single Sign On Accounts" @@ -6632,7 +6639,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 msgid "Email Addresses" -msgstr "" +msgstr "E-posta Adresleri" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68 msgid "Single Sign On" @@ -8347,11 +8354,11 @@ msgstr "Seri numarasına göre ara" msgid "Part Actions" msgstr "Parça Eylemleri" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/uk/messages.po b/src/frontend/src/locales/uk/messages.po index 132bba535f..c04d82a4a1 100644 --- a/src/frontend/src/locales/uk/messages.po +++ b/src/frontend/src/locales/uk/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: uk\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" @@ -147,7 +147,7 @@ msgstr "Ні" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Частина" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Частини" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Деталі виробника" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Категорія" @@ -261,7 +261,7 @@ msgstr "Категорії" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "У наявності" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Розташування складу" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "Код" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Не вдалося переглядати, натисніть кнопку \"Перезавантаження попереднього перегляду\"." @@ -1728,11 +1729,11 @@ msgstr "Зберегти поточний шаблон і перезаванта #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "Виберіть екземпляр для перегляду" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Помилка відображення шаблону" @@ -1829,20 +1830,20 @@ msgstr "Вхід успішно виконано" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Не вдалося увійти" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Перевірте введені дані та повторіть спробу." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Пошту відправлено" @@ -2128,6 +2129,7 @@ msgstr "Без категорії" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Пошук..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Завантаження" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Результатів не знайдено" @@ -2247,7 +2250,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "" @@ -2925,7 +2928,7 @@ msgstr "Вихід" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "Внутрішня помилка сервера" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Перевірте вашу поштову скриньку для скидання посилання. Це працює тільки в тому випадку, якщо у вас є обліковий запис. Перевірити також спам." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "Вхід вже здійснено" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Пароль успішно встановлено. Тепер ви можете увійти в систему, використовуючи новий пароль" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po index cef3ed3f64..4799c182d9 100644 --- a/src/frontend/src/locales/vi/messages.po +++ b/src/frontend/src/locales/vi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: vi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -147,7 +147,7 @@ msgstr "Không" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "Phụ kiện" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "Phụ tùng" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "Nhà sản xuất phụ kiện" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "Danh mục phụ kiện" @@ -261,7 +261,7 @@ msgstr "Danh mục phụ kiện" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "Hàng trong kho" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "Vị trí kho hàng" @@ -644,14 +644,14 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "" @@ -1391,11 +1392,11 @@ msgstr "" msgid "This widget requires superuser permissions" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "" @@ -1655,7 +1656,7 @@ msgstr "Mã" msgid "Error rendering preview" msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "Xem trước không khả dụng, nhấp \"Tải lại xem trước\"." @@ -1728,11 +1729,11 @@ msgstr "Lưu mẫu hiện tại và tải lại xem trước" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "Lỗi hiển thị mẫu" @@ -1829,20 +1830,20 @@ msgstr "Đăng nhập thành công" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "Đăng nhập thất bại" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "Kiểm tra đầu vào của bạn và thử lại." #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "Thư đã được gửi đi thành công" @@ -2128,6 +2129,7 @@ msgstr "Chưa có danh mục" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "Tìm kiếm..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "Đang tải" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "Không có kết quả nào được tìm thấy" @@ -2247,7 +2250,7 @@ msgstr "Đang xử lý dữ liệu" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "Có lỗi xảy ra" @@ -2925,7 +2928,7 @@ msgstr "Đăng xuất" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "Điều hướng" msgid "About" msgstr "Giới thiệu" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "" @@ -5539,7 +5546,7 @@ msgstr "" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "Đã đăng xuất" @@ -5551,97 +5558,97 @@ msgstr "" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "Đăng xuất thành công" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Kiểm tra hộp thư để lấy liên kết đặt lại. Việc này chỉ có tác dụng khi bạn có tài khoản. Cần kiểm tra thư mục Spam/Junk." -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "Thiết lập lại thất bại" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "Đã đăng nhập" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "Đăng nhập thành công." -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "Đã đặt mật khẩu" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "Mật khẩu đã được đặt mới thành công. Bạn có thể đăng nhập bằng mật khẩu mới" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "" @@ -8347,11 +8354,11 @@ msgstr "" msgid "Part Actions" msgstr "Thao tác" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/zh_Hans/messages.po b/src/frontend/src/locales/zh_Hans/messages.po index 2b73bb7455..50ff343b1d 100644 --- a/src/frontend/src/locales/zh_Hans/messages.po +++ b/src/frontend/src/locales/zh_Hans/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -147,7 +147,7 @@ msgstr "否" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "零件" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "零件" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "制造商零件" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "零件类别" @@ -261,7 +261,7 @@ msgstr "零件类别" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "库存项" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "库存地点" @@ -644,14 +644,14 @@ msgstr "入选" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "请求已超时" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "处理失败" @@ -1391,11 +1392,11 @@ msgstr "需要超级用户" msgid "This widget requires superuser permissions" msgstr "此部件需要超级用户权限" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "沒有消息" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "没有未读新闻项目" @@ -1655,7 +1656,7 @@ msgstr "代码" msgid "Error rendering preview" msgstr "预览渲染错误" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "预览不可用,点击\"重新加载预览\"。" @@ -1728,11 +1729,11 @@ msgstr "保存当前模板并重新加载预览" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "选择预览实例" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "渲染模板时出错" @@ -1829,20 +1830,20 @@ msgstr "登录成功" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "登录失败" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "请检查您的输入并重试。" #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "邮件发送成功" @@ -2128,6 +2129,7 @@ msgstr "未分类" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "搜索..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "正在加载" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "未找到结果" @@ -2247,7 +2250,7 @@ msgstr "处理数据中" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "发生错误" @@ -2925,7 +2928,7 @@ msgstr "登出" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "导航栏" msgid "About" msgstr "关于" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "导航树加载错误。" @@ -5539,7 +5546,7 @@ msgstr "服务内部错误" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "已登出" @@ -5551,97 +5558,97 @@ msgstr "此浏览器存在冲突会话,已被登出。" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "服务器无响应。" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "服务器无响应。" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "MFA登录验证成功" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "浏览器自动提供了MFA验证信息" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "已成功登出" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "语言已更改" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "您的活动语言已被更改为您个人资料中设置的语言" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "主题已更改" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "您的活动主题已被更改为您个人资料中设置的主题" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "查看收件箱中的重置链接。这只有在您有账户的情况下才会起作用。也请检查垃圾邮件。" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "重置失败" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "您已经登陆了" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "此浏览器的服务器上存在冲突会话。请先登出该会话。" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "已登录" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "已成功登入" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "设置 MFA 失败" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "MFA 设置成功" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "基于 TOTP 的多因素认证(MFA)设置成功;您需要重新登录。" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "密码已设置" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "密码设置成功。您现在可以使用新密码登录" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "无法更改密码" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "两个密码不匹配" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "密码已更改" @@ -8347,11 +8354,11 @@ msgstr "按序列号搜索" msgid "Part Actions" msgstr "零件选项" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr "" diff --git a/src/frontend/src/locales/zh_Hant/messages.po b/src/frontend/src/locales/zh_Hant/messages.po index 7995d711e3..1eaca693fa 100644 --- a/src/frontend/src/locales/zh_Hant/messages.po +++ b/src/frontend/src/locales/zh_Hant/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-17 22:14\n" +"PO-Revision-Date: 2026-06-20 13:53\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -147,7 +147,7 @@ msgstr "否" #: src/forms/StockForms.tsx:1248 #: src/forms/TransferOrderForms.tsx:234 #: src/pages/build/BuildDetail.tsx:260 -#: src/pages/part/PartDetail.tsx:1165 +#: src/pages/part/PartDetail.tsx:1166 #: src/pages/part/bom/BomCompare.tsx:203 #: src/tables/ColumnRenderers.tsx:93 #: src/tables/build/BuildOrderParametricTable.tsx:29 @@ -166,7 +166,7 @@ msgstr "零件" #: src/pages/part/CategoryDetail.tsx:138 #: src/pages/part/CategoryDetail.tsx:285 #: src/pages/part/CategoryDetail.tsx:345 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/pages/part/PartDetail.tsx:893 msgid "Parts" msgstr "零件" @@ -242,7 +242,7 @@ msgid "Manufacturer Parts" msgstr "製造商零件" #: lib/enums/ModelInformation.tsx:80 -#: src/pages/part/CategoryDetail.tsx:387 +#: src/pages/part/CategoryDetail.tsx:388 #: src/tables/Filter.tsx:496 msgid "Part Category" msgstr "零件類別" @@ -261,7 +261,7 @@ msgstr "零件類別" #: src/forms/BuildForms.tsx:848 #: src/forms/SalesOrderForms.tsx:438 #: src/forms/TransferOrderForms.tsx:236 -#: src/pages/stock/StockDetail.tsx:1075 +#: src/pages/stock/StockDetail.tsx:1076 #: src/tables/ColumnRenderers.tsx:132 #: src/tables/part/PartTestResultTable.tsx:256 #: src/tables/stock/InstalledItemsTable.tsx:66 @@ -283,7 +283,7 @@ msgstr "庫存項" #: lib/enums/ModelInformation.tsx:99 #: lib/enums/Roles.tsx:51 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 msgid "Stock Location" msgstr "庫存地點" @@ -644,14 +644,14 @@ msgstr "選取項目 (多筆)" #: src/components/importer/ImporterColumnSelector.tsx:330 #: src/components/importer/ImporterDrawer.tsx:91 #: src/components/modals/LicenseModal.tsx:85 -#: src/components/nav/NavigationTree.tsx:211 +#: src/components/nav/NavigationTree.tsx:398 #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:588 #: src/components/settings/SettingList.tsx:145 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 -#: src/functions/auth.tsx:691 +#: src/functions/auth.tsx:693 #: src/pages/ErrorPage.tsx:11 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408 @@ -723,6 +723,7 @@ msgstr "請求已超時" #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:76 msgid "Process failed" msgstr "處理失敗" @@ -1391,11 +1392,11 @@ msgstr "需要超級使用者" msgid "This widget requires superuser permissions" msgstr "此小工具需要超級使用者權限" -#: src/components/dashboard/widgets/NewsWidget.tsx:133 +#: src/components/dashboard/widgets/NewsWidget.tsx:135 msgid "No News" msgstr "沒有新聞" -#: src/components/dashboard/widgets/NewsWidget.tsx:134 +#: src/components/dashboard/widgets/NewsWidget.tsx:136 msgid "There are no unread news items" msgstr "沒有未讀的新聞項目" @@ -1655,7 +1656,7 @@ msgstr "代碼" msgid "Error rendering preview" msgstr "預覽彩現時發生錯誤" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:124 msgid "Preview not available, click \"Reload Preview\"." msgstr "預覽不可用,點擊\"重新加載預覽\"。" @@ -1728,11 +1729,11 @@ msgstr "保存當前模板並重新加載預覽" #~ msgid "to preview" #~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:380 msgid "Select instance to preview" msgstr "選擇預覽實例" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:424 msgid "Error rendering template" msgstr "渲染模板時出錯" @@ -1829,20 +1830,20 @@ msgstr "登錄成功" #: src/components/forms/AuthenticationForm.tsx:81 #: src/components/forms/AuthenticationForm.tsx:89 #: src/functions/auth.tsx:133 -#: src/functions/auth.tsx:142 +#: src/functions/auth.tsx:144 msgid "Login failed" msgstr "登錄失敗" #: src/components/forms/AuthenticationForm.tsx:82 #: src/components/forms/AuthenticationForm.tsx:90 #: src/components/forms/AuthenticationForm.tsx:106 -#: src/functions/auth.tsx:134 -#: src/functions/auth.tsx:354 +#: src/functions/auth.tsx:136 +#: src/functions/auth.tsx:356 msgid "Check your input and try again." msgstr "請檢查您的輸入並重試。" #: src/components/forms/AuthenticationForm.tsx:100 -#: src/functions/auth.tsx:345 +#: src/functions/auth.tsx:347 msgid "Mail delivery successful" msgstr "郵件發送成功" @@ -2128,6 +2129,7 @@ msgstr "未分類" #: src/components/forms/fields/IconField.tsx:211 #: src/components/nav/Layout.tsx:143 +#: src/components/nav/NavigationTree.tsx:378 #: src/tables/part/PartThumbTable.tsx:209 msgid "Search..." msgstr "搜索..." @@ -2153,6 +2155,7 @@ msgid "Loading" msgstr "正在加載" #: src/components/forms/fields/RelatedModelField.tsx:540 +#: src/components/nav/NavigationTree.tsx:403 msgid "No results found" msgstr "找不到結果" @@ -2247,7 +2250,7 @@ msgstr "處理數據中" #: src/components/importer/ImporterColumnSelector.tsx:299 #: src/components/items/ErrorItem.tsx:12 #: src/functions/api.tsx:60 -#: src/functions/auth.tsx:401 +#: src/functions/auth.tsx:403 msgid "An error occurred" msgstr "發生錯誤" @@ -2925,7 +2928,7 @@ msgstr "登出" #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:663 #: src/pages/stock/LocationDetail.tsx:481 -#: src/pages/stock/LocationDetail.tsx:522 +#: src/pages/stock/LocationDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:689 #: src/pages/stock/TransferOrderDetail.tsx:536 #: src/tables/stock/StockItemTable.tsx:81 @@ -2971,7 +2974,11 @@ msgstr "導航欄" msgid "About" msgstr "關於" -#: src/components/nav/NavigationTree.tsx:212 +#: src/components/nav/NavigationTree.tsx:388 +msgid "Clear search" +msgstr "" + +#: src/components/nav/NavigationTree.tsx:399 msgid "Error loading navigation tree." msgstr "載入導覽樹狀結構時發生錯誤。" @@ -5539,7 +5546,7 @@ msgstr "內部伺服器錯誤" #~ msgstr "You have been logged out" #: src/functions/auth.tsx:124 -#: src/functions/auth.tsx:220 +#: src/functions/auth.tsx:222 msgid "Logged Out" msgstr "已登出" @@ -5551,97 +5558,97 @@ msgstr "此瀏覽器存在衝突的工作階段,已登出。" #~ msgid "Found an existing login - using it to log you in." #~ msgstr "Found an existing login - using it to log you in." -#: src/functions/auth.tsx:143 -msgid "No response from server." -msgstr "伺服器沒有回應。" - #: src/functions/auth.tsx:143 #~ msgid "Found an existing login - welcome back!" #~ msgstr "Found an existing login - welcome back!" -#: src/functions/auth.tsx:186 +#: src/functions/auth.tsx:145 +msgid "No response from server." +msgstr "伺服器沒有回應。" + +#: src/functions/auth.tsx:188 msgid "MFA Login successful" msgstr "MFA 登入成功" -#: src/functions/auth.tsx:187 +#: src/functions/auth.tsx:189 msgid "MFA details were automatically provided in the browser" msgstr "MFA 詳情已在瀏覽器中自動提供" -#: src/functions/auth.tsx:221 +#: src/functions/auth.tsx:223 msgid "Successfully logged out" msgstr "已成功登出" -#: src/functions/auth.tsx:288 +#: src/functions/auth.tsx:290 msgid "Language changed" msgstr "語言已變更" -#: src/functions/auth.tsx:289 +#: src/functions/auth.tsx:291 msgid "Your active language has been changed to the one set in your profile" msgstr "您的使用語言已變更為您個人資料中設定的語言" -#: src/functions/auth.tsx:310 +#: src/functions/auth.tsx:312 msgid "Theme changed" msgstr "佈景主題已變更" -#: src/functions/auth.tsx:311 +#: src/functions/auth.tsx:313 msgid "Your active theme has been changed to the one set in your profile" msgstr "您的使用佈景主題已變更為您個人資料中設定的佈景主題" -#: src/functions/auth.tsx:346 +#: src/functions/auth.tsx:348 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "查看收件箱中的重置鏈接。這隻有在您有賬户的情況下才會起作用。也請檢查垃圾郵件。" -#: src/functions/auth.tsx:353 -#: src/functions/auth.tsx:617 +#: src/functions/auth.tsx:355 +#: src/functions/auth.tsx:619 msgid "Reset failed" msgstr "重置失敗" -#: src/functions/auth.tsx:380 +#: src/functions/auth.tsx:382 msgid "Already logged in" msgstr "已經登入" -#: src/functions/auth.tsx:381 +#: src/functions/auth.tsx:383 msgid "There is a conflicting session on the server for this browser. Please logout of that first." msgstr "此瀏覽器在伺服器上存在衝突的工作階段。請先登出該工作階段。" -#: src/functions/auth.tsx:437 +#: src/functions/auth.tsx:439 msgid "Logged In" msgstr "已登錄" -#: src/functions/auth.tsx:438 +#: src/functions/auth.tsx:440 msgid "Successfully logged in" msgstr "已成功登入" -#: src/functions/auth.tsx:572 +#: src/functions/auth.tsx:574 msgid "Failed to set up MFA" msgstr "設定 MFA 失敗" -#: src/functions/auth.tsx:591 +#: src/functions/auth.tsx:593 msgid "MFA Setup successful" msgstr "MFA 設定成功" -#: src/functions/auth.tsx:592 +#: src/functions/auth.tsx:594 msgid "MFA via TOTP has been set up successfully; you will need to login again." msgstr "已成功設定透過 TOTP 進行的 MFA;您將需要重新登入。" -#: src/functions/auth.tsx:607 +#: src/functions/auth.tsx:609 msgid "Password set" msgstr "密碼已設置" -#: src/functions/auth.tsx:608 -#: src/functions/auth.tsx:717 +#: src/functions/auth.tsx:610 +#: src/functions/auth.tsx:719 msgid "The password was set successfully. You can now login with your new password" msgstr "密碼設置成功。您現在可以使用新密碼登錄" -#: src/functions/auth.tsx:682 +#: src/functions/auth.tsx:684 msgid "Password could not be changed" msgstr "密碼無法變更" -#: src/functions/auth.tsx:700 +#: src/functions/auth.tsx:702 msgid "The two password fields didn’t match" msgstr "兩個密碼欄位不相符" -#: src/functions/auth.tsx:716 +#: src/functions/auth.tsx:718 msgid "Password Changed" msgstr "密碼已變更" @@ -8347,11 +8354,11 @@ msgstr "依序號搜尋" msgid "Part Actions" msgstr "零件選項" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part locked" msgstr "" -#: src/pages/part/PartDetail.tsx:1182 +#: src/pages/part/PartDetail.tsx:1183 msgid "Part unlocked" msgstr ""